日期格式与Javascript日期对象格式相同,例如-
2017年5月25日(星期四)10:00:00 GMT+1200(新西兰标准时间)
我以前用的是下面的格式-
public static final String DATE_FORMAT = "EEE MMM dd yyyy hh:mm:ss 'GMT'Z '('zzzz')'";
public static void main(String[] args) throws ParseException {
String sDate = "Thu May 25 2017 10:00:00 GMT+1200 (New Zealand Standard Time)";
parseDate(sDate);
}
private static void parseDate(String sDate) throws ParseException {
// works
DateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
Date oldDate = dateFormat.parse(sDate);
//FIXME: can't parse?!
ZonedDateTime newDate = ZonedDateTime.parse(
sDate, DateTimeFormatter.ofPattern(DATE_FORMAT)); // <- this is the line 25!
}
我当然可以修改格式化程序
EEE MMM dd yyyy HH:MM:SS'GMT'Z'('ZZZZ')'
你的格式字符串似乎一直有一个错误。小写hh
表示上午或下午内的小时,范围在1到12之间。由于字符串中没有AM/PM,我怀疑这从来不是您想要的,我想知道这个错误怎么会没有被注意到。
大写hh
表示一天中的小时,从0到23:
public static final String DATE_FORMAT = "EEE MMM dd yyyy HH:mm:ss 'GMT'Z '('zzzz')'";
有了这个变化,新旧的解析方式都可以在我的计算机上运行。
Thu May 25 00:00:00 CEST 2017
2017-05-25T10:00+12:00[Pacific/Auckland]
我想用特定的格式序列化POJO的某些日历字段。 我将添加一个格式为字符串的字段,因为它实际上是以24小时为单位表示一天,而不是一个特定的时间瞬间。但当我添加带有注释的新字段时: 我希望得到这样的JSON: 相反,我遇到了以下例外情况:
问题内容: 我正在学习Go,并且正在尝试对日期时间进行JSON解组。 我有一个用C语言编写的程序生成的JSON,我正在输出我认为有效的ISO8601 / RFC3339时区偏移量。我正在使用以下格式字符串: (请注意,本机不支持,我有一个包装器将其替换为纳秒级)。 然后,将产生以下结果: 但是在Go中取消编组此功能将无效:https : //play.golang.org/p/vzOXbzAwdW
我有两个字符串格式的日期:说,格式为。比较日期1和日期2的相等性的最佳方法是什么?我不关心时间,只关心日、年、月。我应该将它们转换为即时并进行比较吗?
对于我的一个客户,我正在处理一些非常古老的日期,例如: 0572-06-17 1000-06-17 当我将字符串转换为日期时,它有一个奇怪的时区。例子: 你可以看到时区是00:17。为什么会出现这个奇怪的时区?
问题内容: 我需要将日期格式化为特定的字符串。 我使用class使用“ ” 模式格式化日期,它将当前日期返回为 “ ”,但我需要为 “ ”。 下面是使用的编码, 输出 :格式化的字符串: 我需要的格式是在gmt时间之间添加冒号。 因为我正在使用Google日历插入事件,所以它仅接受我提到的必需格式。 问题答案: 您可以改用Joda Time。它具有可以满足您需求的format属性。 链接 最大优点
设定年月日的排列顺序。