我一直在寻找这个,到目前为止没有成功.你知道是否有一个“DateFormat”ish类,这将允许我使用“00:00:00”和“24:00:00”作为输入参数(它们都是午夜)但是当被称为“getHour()”时“结果我会得到0或24?

使用“kk”只允许我具有< 1:24>范围,同时我正在寻找< 0:24>范围格式

解决方法

值24:00未在LocalTime中表示,因为它严格地是第二天的一部分.考虑到24:00可以表示为LocalTime的一部分的模型,但结论是它在很多用例中会非常混乱,并且会产生比它解决的更多错误.

但是在java.time中支持24:00.完全可以使用标准格式化技术对其进行解析,但是必须使用SMART或LENIENT模式,请参阅ResolverStyle.默认模式为SMART,但DateTimeFormatter.ISO_LOCAL_DATE_TIME等DateTimeFormatter上的formtter常量处于STRICT模式.因此,ofPattern()默认为SMART模式:

static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm");

LocalDateTime ldt = LocalDateTime.parse("2012-12-03T24:00",FORMATTER);
System.out.println(ldt);  // 2012-12-04T00:00

请注意,这也适用于OffsetDateTime和zoneddatetime. Instant的标准解析器支持24:00,没有特殊的格式化程序:

Instant instant = Instant.parse("2015-01-01T24:00:00Z");
System.out.println(instant);  // 2015-01-02T00:00:00Z

可以使用withResolverStyle()将任何格式化程序转换为SMART或LENIENT模式,如下所示:

DateTimeFormatter f = ...  // obtain a formatter somehow
DateTimeFormatter smartMode = f.withResolverStyle(ResolverStyle.SMART);

// for example
f = DateTimeFormatter.ISO_LOCAL_DATE_TIME.withResolverStyle(ResolverStyle.SMART);

支持的第二个元素是parseExcessDays().这允许在仅解析时间时获得超出的日期:

static final DateTimeFormatter TIME_FORMATTER = DateTimeFormatter.ofPattern("HH:mm");

TemporalAccessor parsed = TIME_FORMATTER.parse("24:00");
LocalTime lt = LocalTime.from(parsed);
Period excessDays = parsed.query(DateTimeFormatter.parsedExcessDays());
System.out.println(lt + " + " + excessDays);  // 00:00 + P1D

最后,给高级用户注意.从理论上讲,它应该可以编写自己的Temporal实现,它是LocalTime的副本,但支持24:00作为有效值.这样的一个类,比如LocalTimeWithEndOfDay,可以在没有问题的情况下与格式化程序/解析器一起运行(并且可能是ThreeTen-Extra的一个很好的补充.

java – (简单)DateFormat,允许24:00:00和00:00:00作为输入的更多相关文章

  1. spring boot集成smart-doc自动生成接口文档详解

    这篇文章主要介绍了spring boot集成smart-doc自动生成接口文档详解,smart-doc是一款同时支持java restful api和Apache Dubbo rpc接口文档生成的工具,smart-doc颠覆了传统类似swagger这种大量采用注解侵入来生成文档的实现方法

  2. centos – 当/ etc / localtime符号链接到/usr/share / zoneinfo / GMT时,为什么$date仍显示EST?

    我在服务器上设置日期时遇到问题…出于某种原因,虽然时间17:31:06是GMT,但时区后缀是EST…并且硬件时钟也搞砸了–10:32:12不是EST:如果我将hwclock设置为系统时间或本地时间,则会将其设置为错误:知道发生了什么事吗?

  3. 自定义时区将重置为Centos 6中的默认时区

    我已通过在/etc/localtime中创建动态链接,在我的服务器中为自定义时区(America/Mexico_city)配置了时区.然而,偶尔也没有明显的原因,我的时区恢复到默认值(PST),我的服务开始失败.我正在使用惠普云服务.有没有人经历过这个?应避免通过/etc/localtime符号链接设置timzezone.CentOS6从/etc/sysconfig/clock获取时区设置如果运行

  4. 如何在centos 6.2中更改时区?

    这是我的日期命令的输出:我想将默认系统时区更改为亚洲/迪拜.我跟着tutorial做了这个:但没有效果.似乎在CentOS6中这样做有所不同.如何更改时区?

  5. centos下smartctl安装配置(硬盘S.M.A.R.T信息及坏块检测命令)

    如果为disabled,使用:smartctl--smart=on--offlineauto=on--saveauto=on启用SMART。PASSED表示硬盘健康状态良好,如果为Failure那就要立刻更换硬盘。TEST可取值:offline,short,long,conveyance,select,M-N,pending,N,afterselect,[on|off],scttempint,N[,p]此时可以用smartctl-X中断后台测试。

  6. centos6.8时间设置与同步

    [root@bogon~]#rm/etc/localtime[root@bogon~]#ln-s/usr/share/zoneinfo/Asia/Shanghai/etc/localtime[root@bogon~]#dateThuSep1408:54:32CST2017[root@bogon~]#yuminstall-yntpdate[root@bogon~]#ntpdatetime.nist.

  7. 使用Xampp(MacOs)安装php intl的问题

    我在我的Mac上安装了Xampp,最后一个版本是PHP7,一切正常,但在我的PHP项目中我使用了这个功能:我需要安装intl,并使用以下行编辑PHP.ini:问题是,我无法安装intl,我使用这个命令:但是给我这个控制台错误:之后,我尝试从here下载ntl-3.0.0.tgz,并安装whith这个命令:但请回复我:我很绝望,我怎么能安装intl?

  8. windows-server-2003 – 即使在明确同步时间之后,Windows Server 2003和time.nist.gov之间的时差也会增加

    我已将服务器的时间同步到time.nist.gov.该服务器与客户端的服务器通信,该服务器也与time.nist.gov同步.在注意到即使在显式同步之后我们似乎与时间服务器不同步之后,我设置了每小时批处理作业以查看我的假设是否正确以及我们的时差是多少.我在星期五开始工作,已经检查了50次.当我星期五第一次检查时,w32tm实用程序显示的差异小于10毫秒.几小时前的最后一次检查显示相差20秒.还有9

  9. windows-server-2012-r2 – Windows Server 2012 R2上的APC Smart UPS串行连接

    我已经读过USB连接的APC被识别出来了.>如何从服务器监控APC?我最近安装了最新的PowerChuteBusinessEdition,但我没有在安装过程中看到APC列出.据我所知,这个最新版本可能根本不支持串行信令?一些搜索显示PowerChutev7.05支持串行信号,但该版本可以追溯到2007年,所以早在2012年之前就存在了.在这种情况下,监控我的APCUPS的最佳方法是什么?

  10. windows-server-2003 – 无法使用w32tm / stripchart访问某些客户端 – 错误:0x800705B4

    我正在尝试追踪时间同步问题.我在远程分支机构有一台DC.w32tm/dumpreg/subkey:我明白,参数显示Type=NT5DS,Type表示与域同步.我已经检查过使用:w32tm/stripchart/dataonly/samples:5/computer:core-fsmo-dc并且它是同步的.我可以对其他DC和某些设备运行相同的命令,但其他设备(包括分支机构和其他地方的其他服务器)给我

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部