草庐IT

DateTimeFormatter

全部标签

java - Joda-Time DateTimeFormatter 类线程安全吗?

是Joda-TimeDateTimeFormatter类threadsafe?一旦我从DateTimeFormat.forPattern得到一个实例,它的各种解析方法可以被多个线程调用吗?DateTimeFormatter的Javadocs没有提到线程安全。 最佳答案 Yes,itis:DateTimeFormatisthread-safeandimmutable,andtheformattersitreturnsareaswell.Java8version也是如此ImplementationRequirements:Thiscla

java - Joda-Time DateTimeFormatter 类线程安全吗?

是Joda-TimeDateTimeFormatter类threadsafe?一旦我从DateTimeFormat.forPattern得到一个实例,它的各种解析方法可以被多个线程调用吗?DateTimeFormatter的Javadocs没有提到线程安全。 最佳答案 Yes,itis:DateTimeFormatisthread-safeandimmutable,andtheformattersitreturnsareaswell.Java8version也是如此ImplementationRequirements:Thiscla

java.util.date 到 String 使用 DateTimeFormatter

如何使用将java.util.Date转换为StringDateTimeFormatterdateTimeFormatter=DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss")我得到的日期对象被传递DateTimenow=newDateTime(date); 最佳答案 如果您使用的是Java8,则首先不应使用java.util.Date(除非您从您拥有的库中接收到Date对象)无法控制)。在任何情况下,您都可以使用以下方法将Date转换为java.time.Instant:Dated

Java8 DateTimeFormatter 上午/下午

我正在尝试解析一些日期,但DateTimeParser似乎不同意我对什么是有效的importjava.time.ZonedDateTimeimportjava.time.format.DateTimeFormatterimportjava.util.LocaleZonedDateTime.parse("WedJul16,20164:38pmEDT",DateTimeFormatter.ofPattern("EEEMMMdd,yyyyhh:mmaz",Locale.US))当我尝试这个时它说java.time.format.DateTimeParseException:Text'WedJ

java - 使用新的 Java 8 DateTimeFormatter 进行严格的日期解析

我有一个简单的问题:我想严格解析"yyyyMMdd"格式的Java字符串,以便"19800229"是一个有效日期,但是“19820229”不是。假设这些是来自正常公历的公元日期。我正在尝试使用JDK8中新的java.time包来解决这个问题,但事实证明它比希望的要复杂。我当前的代码是:privatestaticfinalDateTimeFormatterFORMAT=DateTimeFormatter.ofPattern("yyyyMMdd").withChronology(IsoChronology.INSTANCE).withResolverStyle(STRICT);public

java.time.DateTimeFormatter : Need ISO_INSTANT that always renders milliseconds

我正在尝试将围绕日期时间管理的各种代码混合清理到仅Java8java.time命名空间。现在我有一个关于默认DateTimeFormatter的小问题对于Instant.DateTimeFormatter.ISO_INSTANT格式化程序仅在不等于零时显示毫秒。纪元呈现为1970-01-01T00:00:00Z而不是1970-01-01T00:00:00.000Z。我做了一个单元测试来解释这个问题以及我们如何需要最终日期来相互比较。@Testpublicvoidjava8Date(){DateTimeFormatterformatter=DateTimeFormatter.ISO_IN

时区偏移量的 java.time DateTimeFormatter 模式

我正在尝试解析:2014-05-02-10.45.05.993280-5:00其中-5:00是与UTC的偏移量。使用java.timeDateTimeFormatter在Java8中。对于第一位,我有以下内容:yyyy-MM-dd-HH.mm.ss.SSSSSS但是,我也不知道解析偏移量的模式应该是什么.如果我有4位数字的偏移量(-05:00),我可以使用:yyyy-MM-dd-HH.mm.ss.SSSSSSxxx,但这不适用于3数字。有什么想法吗? 最佳答案 使用大写字母X而不是x,因此是XXX。区别在于大X可以将输入字母“Z”识

java - 如何使用 JSR-310 DateTimeFormatter 解析不区分大小写的字符串?

JSR-310有一个方便的类DateTimeFormatter,它允许您构造一个DateTimeFormatter。我特别喜欢pattern(String)方法-参见javadoc但是,我遇到了一个区分大小写的问题——例如DateTimeFormatters.pattern("dd-MMM-yyyy");匹配“01-Jan-2012”,但不匹配“01-JAN-2012”或“01-jan-2012”。一种方法是分解字符串并解析组件,或者另一种方法是使用正则表达式将不区分大小写的字符串替换为区分大小写的字符串。但感觉应该有更简单的方法... 最佳答案

Java 8 DateTimeFormatter 解析不同重要性的可选小数秒

我的MCVE(作为TestNG单元测试):publicclassMyDateTimeFormatterTest{privatestaticfinalStringBASE_PATTERN="yyyy/MM/ddHH:mm:ss";privatestaticfinalDateTimeFormatterFORMATTER=DateTimeFormatter.ofPattern(BASE_PATTERN+"[.SSSSSSSSS]");privatestaticfinalLocalDateTimeTEST_INPUT=LocalDateTime.of(2015,5,4,12,34,56,123

java - 为什么 Joda DateTimeFormatter 无法解析时区名称 ('z' )

来自DateTimeFormatterjavadoc:Zonenames:Timezonenames('z')cannotbeparsed.因此时区解析如下:System.out.println(newSimpleDateFormat("EEEMMMddHH:mm:sszyyyy").parse("FriNov1112:13:14JST2010"));无法在Joda中完成:DateTimeFormatterdtf=DateTimeFormat.forPattern("EEEMMMddHH:mm:sszyyyy");System.out.println(dtf.parseDateTime