从 GWT 解析带有时区的日期
Parse Date with time zone from GWT
我读了很多关于这个主题的类似 SO 问题,但我现在仍然很困惑该怎么做......我试着让它变得简单:
我得到了这个字符串:"Sat Jan 24 00:00:00 GMT+100 2015"
不得以任何方式修改
我现在的问题是:我应该使用什么样的模式来将这个字符串解析成java.util.Date?我试过:"EEE MMM dd HH:mm:ss z yyyy"
但它失败了 "unparsable Date"
我所知道的是:如果我有 "Sat Jan 24 00:00:00 GMT+1:00 2015"
,这是相同的(对吗?),那么我的模式就可以工作。但是我不能(想要..)修改它。
--> 是否有开箱即用的模式,是或否?
PS:我认为这个问题的结尾与所有其他问题重复,但如果你投票赞成,请另外回答我的大胆问题,因为我无法确定地从那里读出来
提前致以问候和感谢
我认为没有一种模式可以匹配您的时区/偏移量GMT+100
。您可以在解析之前修改输入:
String input = "Sat Jan 24 00:00:00 GMT+100 2015";
input = input.replaceAll("([+-])(\d+?)(\d{2})", ":");
String pattern = "EEE MMM dd HH:mm:ss z yyyy";
Date date = new SimpleDateFormat(pattern, Locale.ENGLISH).parse(input);
"Hours must be between 0 to 23 and Minutes must be between 00 to 59. For example, "GMT+10" 和 "GMT+0010" 分别表示比 GMT 早十小时和十分钟。"
根据 java 时区规范 http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html 这是我找到的三字母时区三字母时区 ID
为了兼容JDK1.1.x,一些其他的三字母时区ID(比如"PST","CTT","AST") 也支持。但是,它们的使用已被弃用,因为相同的缩写经常用于多个时区(例如,"CST" 可能是 U.S。"Central Standard Time" 和 "China Standard Time"),并且 Java 平台只能识别其中之一
所以我认为没有适合您的开箱即用模式。检查另一个 answer .
我读了很多关于这个主题的类似 SO 问题,但我现在仍然很困惑该怎么做......我试着让它变得简单:
我得到了这个字符串:"Sat Jan 24 00:00:00 GMT+100 2015"
不得以任何方式修改
我现在的问题是:我应该使用什么样的模式来将这个字符串解析成java.util.Date?我试过:"EEE MMM dd HH:mm:ss z yyyy"
但它失败了 "unparsable Date"
我所知道的是:如果我有 "Sat Jan 24 00:00:00 GMT+1:00 2015"
,这是相同的(对吗?),那么我的模式就可以工作。但是我不能(想要..)修改它。
--> 是否有开箱即用的模式,是或否?
PS:我认为这个问题的结尾与所有其他问题重复,但如果你投票赞成,请另外回答我的大胆问题,因为我无法确定地从那里读出来
提前致以问候和感谢
我认为没有一种模式可以匹配您的时区/偏移量GMT+100
。您可以在解析之前修改输入:
String input = "Sat Jan 24 00:00:00 GMT+100 2015";
input = input.replaceAll("([+-])(\d+?)(\d{2})", ":");
String pattern = "EEE MMM dd HH:mm:ss z yyyy";
Date date = new SimpleDateFormat(pattern, Locale.ENGLISH).parse(input);
"Hours must be between 0 to 23 and Minutes must be between 00 to 59. For example, "GMT+10" 和 "GMT+0010" 分别表示比 GMT 早十小时和十分钟。"
根据 java 时区规范 http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html 这是我找到的三字母时区三字母时区 ID
为了兼容JDK1.1.x,一些其他的三字母时区ID(比如"PST","CTT","AST") 也支持。但是,它们的使用已被弃用,因为相同的缩写经常用于多个时区(例如,"CST" 可能是 U.S。"Central Standard Time" 和 "China Standard Time"),并且 Java 平台只能识别其中之一
所以我认为没有适合您的开箱即用模式。检查另一个 answer .