java字符串时间去掉秒_Java:当秒和毫秒均为0时,DateTimeFormatter无法解析时间字符串吗?...
小编典典
tl; dr
其中秒和毫秒为00000,这是解析器失败时
不,解析器成功。您的问题是生成一个字符串,而不是解析。
默认DateTimeFormatter抑制秒和分数第二零个值,如记录。
功能,而非错误
您的问题不在于解析,而在于解析后生成字符串。请记住,日期时间对象的文本表示形式是不同的,并且与对象分离。换句话说,日期时间对象没有“格式”。
[String]-> parse-> [LocalDateTime]-> toString-> [String]
的文档LocalDateTime::toString明确指出,当在最低有效部分中遇到零值时,将使用尽可能短的格式变化。报价:
输出将是以下ISO-8601格式之一:
uuuu-MM-dd’T’HH:mm
uuuu-MM-dd’T’HH:mm:ss
uuuu-MM-dd’T’HH:mm:ss.SSS
uuuu-MM-dd’T’HH:mm:ss.SSSSSS
uuuu-MM-dd’T’HH:mm:ss.SSSSSSSSS
所使用的格式将是最短的格式,用于输出被省略部分隐含为零的时间的完整值。
例子
关于YCF_L接受的答案中显示的两个示例……
20180301091600001结果是2018-03-01T09:16:00.001
在该示例中,最低有效部分(毫秒)具有非零值,因此将其表示在结果中。
2018030100000000结果是2018-03-01T00:00
在该示例中,小时,分钟,秒,毫秒,微秒和纳秒的最低有效部分全部为零。因此,除了小时和分钟之外,它们的显示都被抑制了,因为文档承诺始终显示年-分钟。
因此,您的两个示例均如文档所述。功能,而不是错误。
解
解决方案是不使用该toString方法中提供的默认格式化程序。而是,使用另一个格式化程序。例如,使用为解析定义的同一自定义格式器。
DateTimeFormatter f = DateTimeFormatter.ofPattern( "yyyyMMddHHmmssSSS" );
LocalDateTime ldt = LocalDateTime.parse( "20180301091600000" , f );
String outputDefault = ldt.toString();
String outputCustom = ldt.format( f );
转储到控制台。
System.out.println( "outputDefault: " + outputDefault );
System.out.println( "outputCustom: " + outputCustom );
输出默认值:2018-03-01T09:16
输出自定义:20180301091600000
问题问:
我如何解决它以使其打印2018-03-01T09:16:00.000而不是2018-03-01T09:16?
指定自定义格式器,而不是默认格式器。
DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss:SSS") ;
String output = ldt.format( f ) ;
但是请记住,生成的String会抑制LocalDateTime对象中任何微秒或纳秒的显示。
2020-10-18
java字符串时间去掉秒_Java:当秒和毫秒均为0时,DateTimeFormatter无法解析时间字符串吗?...相关推荐
- java date 没有毫秒_关于date:Java:秒和毫秒均为0时,DateTimeFormatter无法解析时间字符串吗?...
基本上,我使用以下代码将字符串解析为LocalDateTime,在大多数情况下都可以正常工作. DateTimeFormatter dtformatter = DateTimeFormatter.of ...
- Mybatis中 Integer 值为0时,默认为空字符串的解决办法
问题 需求是查询级别为0的用户 User对象里的level字段的值为0,查询时居然没有查到为level为0的用户. <select id="selectSelective" ...
- java日期加减秒_Java日期——年、月、日、时、分、秒、周加减计算
Java日期--年.月.日.时.分.秒.周加减计算 Java日期--年.月.日.时.分.秒.周加减计算 1.Pom依赖 joda-time joda-time 2.9.9 2.示例代码 package ...
- Java获取当天或者明天等零点时间(00:00:00)0时0分0秒的方法
SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar calendar = ...
- Java获取当天(今日)零点时间(00:00:00)0时0分0秒的方法
如果想通过Java获取当天的0点时间,有两种方式:一种是通过Calendar:另外一种是通过SimpleDataFormat.下面分别介绍. 1.Calendar 通过Calendar把时分秒字段清空 ...
- java取上一个月_java获取当前上一周、上一月、上一年的时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar c=Calendar ...
- 离线java人脸识别开源算法_Java 离线人脸识别 基于ArcFace 2.0 Demo
开发环境准备: 开发使用到的软件和工具: Jdk8.mysql5.7.libarcsoft_face.dll(so).libarcsoft_face_engine.dll(so).libarcsoft ...
- java a[i].setx(-1);_java – setX和setY在尝试定位图像时不起作用
我在使用setX上的setX和setY为我的JavaFX程序中定位图像时遇到问题.我不确定是什么问题?感谢任何给予的帮助! 这是我的代码: Image rocket2 = new Image(&quo ...
- java 并发框架源码_Java并发编程高阶技术-高性能并发框架源码解析与实战
Java并发编程高阶技术-高性能并发框架源码解析与实战 1 _0 Z' @+ l: s3 f6 r% t|____资料3 Z9 P- I2 x8 T6 ^ |____coding-275-master ...
- java杀死自身并重启_java – android服务在应用程序被杀死时自动重启
我正在开发一个应用程序,通过接收器与我的服务进行通信. 服务代码 @Override public int onStartCommand(Intent intent, int flags, int s ...
最新文章
- Squid下Http头信息优先级
- TCP和UDP的最完整的区别
- 插值MATLAB实现(牛顿差商、插值误差、龙格现象、切比雪夫插值)
- lambda表达式的日期问题
- 在微信小程序中使用字体图标
- Python中append()和extend方法的使用和区别
- blog微服务架构代码_Spring Cloud微服务架构代码结构详细讲解
- complex类模板c++_高中地理综合题答题模板,学霸们都收藏了!
- 元旦,请查收程序员专属祝福礼!
- 三宝小精灵机器人_三宝小精灵幼育机器人-引领幼教AI新浪潮
- 2021世界互联网大会“全体会议”发言干货都在这篇了
- win7更新_Win7最新更新!由微软亲自集成的安装包来袭!
- 网络工程师 第8章 网络安全
- JSFL自动绘画_2_三阶贝塞尔曲线画线
- uiautomatorviewer 提示 Error obtaining UI hierarchy 的解决办法
- Redis的一些知识
- 磁性开关的种类和工作原理
- L1-040 最佳情侣身高差 (10分)(C语言)
- 世界各地时间缩写_世界各地的天然气价格
- 非平衡电桥电阻计算_【2019年整理】用非平衡电桥测量电阻
热门文章
- Apache CXF 框架结构和基本原理
- 清华大学计算机杜瑜皓,我在清华等你来 | 金策:从容淡定 “金牌”之风
- 单片机c语言 一小时,1小时单片机C语言入门..doc
- NE555延时电路设计
- 使用38译码器扩展单片机接口
- 拍一拍身上的土(2009-12-12 01:17:43韩寒博客)
- 计算机应用基础图表填空,计算机应用基础试题
- WPF实现鼠标拖动框选功能
- python如何获取鼠标位置_python实时得到鼠标的位置
- exe机器码加密视频如何破解提取脱壳