jjzjj

DateTimeFormatter

全部标签

java - 尝试使用 joda DateTimeFormatter 解析日期时间时出现运行时异常

我正在执行下面的代码“线程“main”中的异常org.joda.time.IllegalFieldValueException:无法解析“12/17/201723:10”:clockhourOfHalfday的值23必须在[1,12]范围内”DateTimeFormatterdt=DateTimeFormat.forPattern("MM/dd/yyyyhh:mm");System.out.println(dt.parseDateTime("12/17/201723:10"));如果我将解析"12/17/201702:10"然后它会成功执行。所以基本上,我需要解析具有24小时时钟格式的

java - DateTimeFormatter 中的通配符

我需要将字符串解析为LocalDate。该字符串在正则表达式中看起来像31.*032016(即.*表示天数后可能有0个或多个未知字符)。示例输入/输出:31xy032016==>2016-03-31我希望在DateTimeFormatter文档中找到一个通配符语法以允许这样的模式:LocalDate.parse("31xy032016",DateTimeFormatter.ofPattern("dd[.*]MMyyyy"));但是我找不到任何东西。是否有一种简单的方法来使用DateTimeFormatter来表达可选的未知字符?ps:我显然可以在解析之前修改字符串,但这不是我想要的。

java - 使用 JSR 310(DateTime API)的军事时区

我在我的应用程序中使用JSR310DateTimeAPI*,我需要解析和格式化军事日期时间(称为DTG或“日期时间组”)。我正在解析的格式如下所示(使用DateTimeFormatter):"ddHHmm'Z'MMMyy"//(ie."312359ZDEC14",fornewyearseve2014)如上所述,这种格式相当容易解析。当日期包含与“Z”(祖鲁时区,与UTC/GMT相同)不同的时区时,就会出现问题,例如“A”(Alpha,UTC+1:00)或“B”(Bravo,UTC+2:00)。参见Militarytimezones查看完整列表。如何解析这些时区?或者换句话说,除了文字“

java - 如何使用 DateTimeFormatter 解析非标准月份名称

我需要解析以下形式的(德语)日期:10.Jan.18:148.Feb.19:021.Mär.19:404.Apr.18:552.Mai21:555.Juni08:255.Juli20:091.Aug.13:42[...]如您所见,如果月份超过4个字符,月份名称将被截断。更奇怪的是,不要问我为什么,三月缩写为Mär.,尽管整个名称是März。我如何用java.time解析它?(日期的格式基于创建日期列表的Android设备的本地化。但是,我没有在Android上解析它)我的方法是像这样创建一个DateTimeFormatter:DateTimeFormatter.ofPattern("d

java - 使用/不使用 nanoOfSeconds 将字符串转换为 LocalTime

我需要将字符串转换为LocalTime(java-8而不是joda),该字符串中可能有也可能没有nanoOfSeconds。字符串格式为07:06:05或07:06:05.123456该字符串在秒中可能有也可能没有小数位,如果有,则可以有任意数量的字符来表示纳秒部分。使用DateTimeForamtter,例如DateTimeFormatterdtf=DateTimeFormatter.ofPattern("H:mm:ss");或DateTimeFormatterdtf=DateTimeFormatter.ofPattern("H:mm:ss.SSSSSS");我可以使用IF语句来区分

java - Spark 和不可序列化的 DateTimeFormatter

我正在尝试在Spark中使用java.time.format中的DateTimeFormatter,但它似乎不可序列化。这是相关的代码块:valpattern="".rvaldtFormatter=DateTimeFormatter.ofPattern("")vallogs=sc.wholeTextFiles(path)valentries=logs.flatMap(fileContent=>{valfile=fileContent._1valcontent=fileContent._2content.split("\\r?\\n").map(line=>linematch{casep

使用 DateTimeFormatter 解析 AM/PM 时间时出现 Java 8 DateTimeParseException

我正在尝试使用Java8的java.time.format.DateTimeFormatter将格式化字符串解析为java.time.LocalTime对象。但是,我在解析某些输入字符串时遇到了一些问题。当我的输入字符串包含“AM”时,它会正确解析,但当我的输入字符串包含“PM”时,它会抛出异常。这是一个简单的例子:importjava.time.LocalTime;importjava.time.format.DateTimeFormatter;publicclassFormatterExample{privatestaticfinalDateTimeFormattertimeFor

带有可选冒号分隔符的时区的 Java DateTimeFormatter?

我正在尝试构建一个DateTimeFormatter,它可以接受带冒号的偏移量或不带冒号的偏移量。有没有办法通过这个测试:DateTimeFormatterdateTimeFormatter=DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss[X]");dateTimeFormatter.parse("2015-01-28T10:21:44+0100");//OKdateTimeFormatter.parse("2015-01-28T10:21:44+01:00");//KO 最佳答案

java - JDK 日期格式解析德语语言环境中的星期几,java 8 与 java 9

我已经在J​​ava8(1.8.0_77)和Java9(JavaHotSpot(TM)64位服务器虚拟机(构建9+181,混合模式))中尝试了一些代码DateTimeFormatterdtf=DateTimeFormatter.ofPattern("eee",Locale.GERMAN);DayOfWeekmo=dtf.parse("Mo",DayOfWeek::from);System.out.println("mo="+mo);我不太熟悉这些类的细节,但在Java8中这是可行的,打印:mo=MONDAY在Java9中,但是它失败了Exceptioninthread"main"jav

java - 来自 joda-time DateTimeFormatter 的模式字符串?

是否可以从joda-timeDateTimeFormatter获取模式字符串?DateTimeFormatterformatter=DateTimeFormat.forPattern("yyyyMMdd");StringoriginalPattern=formatter.??? 最佳答案 JodaTime不提供从DateTimeFormatter获取原始模式的方法。一个原因可能是DateTimeFormatter不一定是根据模式创建的;例如DateTimeFormat.forStyle()根本不使用模式。但是,如果您总是使用模式,则