这种日期格式的模式是什么?

时间:2014-06-26 05:11:12

标签: java simpledateformat

你不能在不知道SimpleDateFormat模式的情况下解析时间戳,我不确定这是什么:

  

1980/01/30 10:36:42 -0400

我认为它会像yyyy/MM/dd HH:mm:ss,但我不确定-0400部分,或者我应该将MMHH大写。

4 个答案:

答案 0 :(得分:6)

MM是几个月,mm是分钟

HH是24小时制,0-23 hh是12小时制

Z是时区,是您正在寻找的最后一个字段

API documents here中,有一张可爱的表格列出了所有的模式字母。

答案 1 :(得分:0)

此处记录了

SimpleDateFormat。你可以用这样的东西解析那个日期,

public static void main(String[] args)
    throws ParseException {
  String date = "1980/01/30 10:36:42 -0400";
  String pattern = "yyyy/MM/dd HH:mm:ss Z";
  SimpleDateFormat sdf = new SimpleDateFormat(pattern);
  System.out.println(sdf.parse(date));
}

输出是(因为我的系统在EST中) -

Wed Jan 30 09:36:42 EST 1980

答案 2 :(得分:0)

您可以将此格式用作日期格式

 SimpleDateFormat   date = new SimpleDateFormat("yyyy/MM/dd:HH:mm:SS Z");
 System.out.println(date);

输出

2012/1/16:16:11:31 -0400

答案 3 :(得分:0)

来自 javadoc :以下示例显示如何在美国语言环境中解释日期和时间模式。给定的日期和时间是美国太平洋时区当地时间2001-07-04 12:08:56。

     Date and Time Pattern                 Result

"yyyy.MM.dd G 'at' HH:mm:ss z"  2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy"                  Wed, Jul 4, '01
"h:mm a"                            12:08 PM
"hh 'o''clock' a, zzzz"         12 o'clock PM, Pacific Daylight Time
"K:mm a, z"                     0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa"  02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z"    Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ"                 010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"    2001-07-04T12:08:56.235-0700

RFC 822 time zone:格式化时,使用由z

表示的RFC 822 4位时区格式