字符串转LocalDateTime异常

2023-10-30

现象

当使用LocalDateTime 与字符串互转异常, 使用LocalDateTime 字符串必须带时分秒.

    public static void main(String[] args) {
        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String dateStr = "2020-07-07";
        System.out.println("LocalDate: " + LocalDate.parse(dateStr, df));

        System.out.println("LocalDateTime: " + LocalDateTime.parse(dateStr, df));
    }
Connected to the target VM, address: '127.0.0.1:50078', transport: 'socket'
Exception in thread "main" java.time.format.DateTimeParseException: Text '2020-07-07' could not be parsed at index 10
	at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
	at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
	at java.time.LocalDate.parse(LocalDate.java:400)
	at com.example.LocalDateTest.main(LocalDateTest.java:19)

解决方案

当使用LocalDate时就不会报错

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String dateStr = "2020-07-07 23:19:46";
System.out.println("LocalDate: " + LocalDate.parse(dateStr, df));

拓展测试

  • 格式为"yyyy-MM-dd HH:mm:ss", 字符串也带时分秒"2020-07-07 12:25:11"时,
    LocalDate和LocalDateTime都能格式化到十分秒的字符时间.
    public static void main(String[] args) {
        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String dateStr = "2020-07-07 12:25:11";
        System.out.println("LocalDate: " + LocalDate.parse(dateStr, df));

        System.out.println("LocalDateTime: " + LocalDateTime.parse(dateStr, df));
    }

结果

LocalDate: 2020-07-07
LocalDateTime: 2020-07-07T12:25:11
  • 格式为"yyyy-MM-dd", 字符串也带时分秒"2020-07-07 12:25:11"时.

LocalDate和LocalDateTime格式化都报错

LocalDate

    public static void main(String[] args) {
        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        String dateStr = "2020-07-07 23:19:46";
        System.out.println("LocalDate: " + LocalDate.parse(dateStr, df));

       // System.out.println("LocalDateTime: " + LocalDateTime.parse(dateStr, df));
    }

结果

Exception in thread "main" java.time.format.DateTimeParseException: Text '2020-07-07 23:19:46' could not be parsed, unparsed text found at index 10
	at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1952)
	at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
	at java.time.LocalDate.parse(LocalDate.java:400)
	at com.example.LocalDateTest.main(LocalDateTest.java:19)

LocalDateTime

    public static void main(String[] args) {
        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        String dateStr = "2020-07-07 23:19:46";
        //System.out.println("LocalDate: " + LocalDate.parse(dateStr, df));

       System.out.println("LocalDateTime: " + LocalDateTime.parse(dateStr, df));
    }

结果

Exception in thread "main" java.time.format.DateTimeParseException: Text '2020-07-07 23:19:46' could not be parsed, unparsed text found at index 10
	at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1952)
	at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
	at java.time.LocalDateTime.parse(LocalDateTime.java:492)
	at com.example.LocalDateTest.main(LocalDateTest.java:21)
  • 格式为"yyyy-MM-dd HH:mm:ss", 字符串也带时分秒"2020-07-07"时
    LocalDate格式化报错
    public static void main(String[] args) {
        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String dateStr = "2020-07-07";
        System.out.println("LocalDate: " + LocalDate.parse(dateStr, df));

       //System.out.println("LocalDateTime: " + LocalDateTime.parse(dateStr, df));
    }

结果

Exception in thread "main" java.time.format.DateTimeParseException: Text '2020-07-07' could not be parsed at index 10
	at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
	at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
	at java.time.LocalDate.parse(LocalDate.java:400)
	at com.example.LocalDateTest.main(LocalDateTest.java:19)
  • Date格式化也正则和字符串十分秒不匹配
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String dateStr = "2020-07-07";
SimpleDateFormat objSDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = objSDF.parse(dateStr);
System.out.println("date: " + date);

结果

Exception in thread "main" java.text.ParseException: Unparseable date: "2020-07-07"
	at java.text.DateFormat.parse(DateFormat.java:366)
	at com.example.LocalDateTest.main(LocalDateTest.java:27)

总结:

  • LocalDateTime格式化时, 正则和字符串都必须精确到时分秒
  • LocalDate格式化时, 只要正则和字符串格式对应,是否精确到十分秒都可以.
  • Date格式化时, 只要正则和字符串格式对应, 是否精确到十分秒都可以.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符串转LocalDateTime异常 的相关文章

  • 【无标题】DVWA通关攻略(持续更新)

    文章目录 DVWA通关攻略 持续更新 sql注入 级别 LOW sql盲注 级别 LOW DVWA通关攻略 持续更新 sql注入 级别 LOW 1 输入 进行试探 若提示语法错误 则也许有漏洞 2 试探列数 888 or 1 1 order
  • LeetCode:387(Python)—— 字符串中的第一个唯一字符(简单)

    字符串中的第一个唯一字符 概述 给定一个字符串 s 找到 它的第一个不重复的字符 并返回它的索引 如果不存在 则返回 1 输入 s leetcode 输出 0 输入 s loveleetcode 输出 2 输入 s aabb 输出 1 方法
  • 云服务器和虚拟主机区别

    虚拟主机和云服务器是常见的网站托管方式 都可以让网站在互联网上运行 但是它们有很大的区别 本文将从使用场景 性能 安全性 灵活性 价格等方面详细介绍虚拟主机和云服务器的区别 一 使用场景 虚拟主机是一个物理服务器通过虚拟化技术划分成多个虚拟
  • 数据结构 C 代码14:图的遍历

    一 图的遍历 从图中某一顶点出发 并系统地访问完图中的所有顶点 且都恰好访问一次的运算操作就被称作 图的遍历 图的遍历理解起来并不是很难 可以分开理解 遍 意为全部 历 意为经历 经过 合起来就是 全部顶点都经过一遍 图的遍历方式分为两种
  • Redis高频面试笔记:java版本号比较算法

    1 三重心智模型 先给大家科普一个概念 三重心智模型 认知科学家斯坦诺维奇 将人的心智模式 分成了三个部分 第一层是自主心智 自主心智是我们通过进化与内隐学习获得 比如 我们看到蛇就会害怕 情绪反应 以及文气 车感 网感这些说不清道不明的内
  • linux7怎么查看rsync状态,linux – Rsync显示单个文件的进度

    这可能就是你所追求的 rsync avvz times stats checksum human readable acls itemize changes progress out format t i Last Modified M b
  • 图解通信原理与案例分析-6:基于离散字符的RS232串口数字通信--收发双方独立预设置同步时钟

    前言 RS 232标准接口是计算机常用的串行通信接口标准之一 虽然比较简单与成熟 但对于理解通信原理的基本流程和框架 核心的概念有基础性帮助作用 本文将从通信原理的角度 解析RS232串口通信过程中的每个环节 包括硬件和软件 在信源和信宿之
  • [Unity] Unity的lua项目中模拟每帧运行一次的协程

    游戏中 我们经常需要把一些大量计算或一些需要持续逐帧运算的步骤交给协程处理 习惯了Monobehaviour中使用协程来完成这类操作的我们 然而 很多Unity项目在选择热更新方案的时候 基本都会选择使用slua ulua等lua解决方案
  • 怎么理解面向对象编程

    怎么理解面向对象编程 百度百科的说法 维基百科的说法 我的理解 面向对象编程的特性 封装 继承 多态 五大基本原则 SPR OCP LSP DIP ISP 单一职责原则SRP Single Responsibility Principle
  • 40个Python入门小程序

    有不少同学学完Python后仍然很难将其灵活运用 我整理 37 个Python入门的小程序 在实践中应用Python会有事半功倍的效果 例子1 华氏温度转换为摄氏温度 华氏温度转摄氏温度的公式 C F 32 1 8 本例考察Python的加
  • Vue 鼠标移入移出 样式改变

    div a span item span a div tab滑动 getCur a b if a 0 this curIndex 0 else if a 1 this curIndex 1 else this curIndex 2
  • centos7安装ffmpeg及nasm等各组件

    一 安装nasm 下载nasm软件包 wget https www nasm us pub nasm releasebuilds 2 14 nasm 2 14 tar gz 解压并安装 tar xvf nasm 2 14 tar gz cd
  • 【Ominigraffle】纸张版面调整成A4大小

    一拿到软件画了个图 然后因为不知道还要考虑大小 导致画的图放在word 里出来各种问题 后来就知道每次画图前先把纸张版面调整成A4的大小 步骤一 文件 页面设置 纸张大小 选择 A4 这里记住A4的大小 210 297mm 步骤二 版面 下

随机推荐

  • PSO算法python实现及部分numpy函数解释(chatgpt实现)

    笔者使用chatgpt生成了一个实现PSO算法的python代码 经验证 代码运行无bug 代码及相关解释如下 代码 import numpy as np 定义适应度函数 def fitness x return np sum x 2 PS
  • C51中data,idata,xdata,pdata的区别

    从数据存储类型来说 8051系列有片内 片外程序存储器 片内 片外数据存储器 片内程序存储器还分直接寻址区和间接寻址类型 分别对应code data xdata idata以及根据51系列特点而设定的pdata类型 使用不同的存储器 将使程
  • 【MySQL基础】MySQL基本操作详解

    系列文章目录 第1篇 MySQL基础 MySQL介绍及安装 第2篇 MySQL基础 MySQL基本操作详解 文章目录 1 数据库操作 1 1 查看数据库 1 2 创建数据库 1 3 选择数据库 1 4 删除数据库 2 数据表操作 2 1 创
  • xrange与range之间的区别

    首先我们看看range range start stop step 根据start与stop指定的范围以及step设定的步长 生成一个序列 注意这里是生成一个序列 xrange的用法与range相同 即xrange start stop s
  • Centos系统开启生成core dump调试文件功能

    需求背景 linux上运行的程序 有时候莫名其妙的崩溃了 查询日志 没发现打印日志 怎么办呢 可以借助系统的dump功能生成进程的内存映象 包含调试信息 前提是运行的程序是debug版本 进一步还原跟踪 确认是否开启 然而 默认情况下 系统
  • ResultSet 获取Date时间,SQL语句设置时间

    1 从ResultSet读取时间 执行完SQL命令后返回一个ResultSet 当ResultSet里有时间字段的时候 例 createTime 2014 11 11 19 50 10 如何将时间取出来呢 ResultSet getDate
  • linux下的OOM机制

    OOM Out Of Memory 机制为Linux内核中一种自我保护机制 当系统分配不出内存时 触发条件 会触发这个机制 由系统在已有进程中挑选一个占用内存较多 回收内存收益最大的进程杀掉来释放内存 参考 http blog chinau
  • nvme linux读写测试工具,Nvme-Cli使用心得(二) Read/Write测试经验

    1 Write 首先看Write命令的官方说明 nvme write start block s block count c data size z metadata size y ref tag r data d metadata M p
  • R语言caretEnsemble包搭建Stacking集成模型

    R语言caretEnsemble包搭建Stacking集成模型 caretEnsemble包简介 小的tips caretEnsemble搭建Stacking集成模型 caretList caretEnsemble caretStack 问
  • Slowhttptest----DoS攻击工具

    Slowhttptest DoS攻击工具 文章目录 slowhttptest centos下安装slowhttptest Ubuntu 20 04 LTS下安装slowhttptest 使用 slowhttptest SlowHTTPTes
  • android定时器的三种写法

    这是网上看到的某一篇技术博客的分享 自己贴了代码 作为记录使用 代码简单易懂 1 xml文件
  • android与H5交互方法简介,四面楚歌的Android工程师该何去何从

    3 2 1 loadUrl 方式 3 2 2 evaluateJavascript 方式 3 3 JS调用Java代码 3 3 1addJavascriptInterface 方式 3 3 2拦截请求方式 3 3 2拦截对话框方式 1 前言
  • Spring 的 IOC 容器和 SpringMVC 的 IOC 容器 关系

    需要进行 Spring 整合 SpringMVC 吗 还是否需要再加入 Spring 的 IOC 容器 是否需要再 web xml 文件中配置启动 Spring IOC 容器的 ContextLoaderListener 1 需要 通常情况
  • 配置宝塔,搭建网站

    配置宝塔面板 一 获取虚拟机的IP地址 打开虚拟机 输入命令 ip addr获取IP地址 二 使用cmd运行获取宝塔面板信息 1 运行cmd 并输入命令ssh root 获取的IP地址 2 输入登录密码 3 获取宝塔的命令行 4 输入14命
  • 跨专业计算机研究生如何毕业论文,跨专业考研论文要求

    跨专业考研写几篇论文 跨专业考研论文要求 近几年 跨专业考研得的队伍愈发壮大 许多考生不仅会跨相关专业 甚至还有人进行文理科间得的 大转行 跨专业报考得的难度系数在考研中是比较大得的 既有 满盘皆输 得的危险 也可能会带来出奇制胜得的效果
  • Column ‘status_type‘ in where clause is ambiguous

    多表查询时 由于字段名字有重复 所以需要指定那张表的字段
  • 学习笔记《你不知道的JavaScript上卷》第一章 作用域是什么 1.2理解作用域

    引擎 从头到尾负责整个 JavaScript 程序的编译及执行过程 编译器 引擎的好朋友之一 负责语法分析及代码生成等脏活累活 详见前一节的内容 作用域 引擎的另一位好朋友 负责收集并维护由所有声明的标识符 变量 组成的一系列查 询 并实施
  • 小程序开发工具全新上线

    导语 为了让开发者更高效地开发和发布小程序 微信开发者工具全新改版上线 并新增测试系统 腾讯云工具 运维性能监控 小程序分阶段发布 WXS脚本语言等 01 微信开发者工具 为提升小程序开发体验 帮助开发者更高效地开发小程序代码 微信开发者工
  • JDBC自定义框架

    自定义JDBC框架 定义必要的信息 获取数据库的连接 释放资源都是重复的代码 在操作JDBC时通常都是执行SQL语句就可以了 所以需要抽取出来一个模板类来封装一些方法 Update Query 专门执行增删改查的SQL语句 简化使用步骤 D
  • 字符串转LocalDateTime异常

    文章目录 现象 解决方案 拓展测试 总结 现象 当使用LocalDateTime 与字符串互转异常 使用LocalDateTime 字符串必须带时分秒 public static void main String args DateTime