有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

如果不先知道SimpleDateFormat模式,就无法解析时间戳,我不确定这是什么:

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

我想这可能是yyyy/MM/dd HH:mm:ss,但我不确定-0400部分,或者我是否应该大写MMHH


共 (4) 个答案

  1. # 1 楼答案

    您可以在日期格式中使用此格式

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

    输出

    2012/1/16:16:11:31 -0400
    
  2. # 2 楼答案

    MM是月,mm是分钟

    HH是24小时的时间,0-23hh是12小时的时间

    Z是时区,是您要查找的最后一个字段

    API documents here中,有一个可爱的表格列出了所有的图案字母

  3. # 3 楼答案

    这里记录了^{}。你可以用这样的方式解析日期

    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
    
  4. # 4 楼答案

    来自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:对于格式化,RFC 822 4位时区格式使用z