繁体   English   中英

将时间戳EEE,d MMM yyyy HH:mm:ss GMT格式转换为yyyy-MM-dd'T'HH:mm:ss'Z'格式?

[英]Convert a timestamp EEE, d MMM yyyy HH:mm:ss GMT format to yyyy-MM-dd'T'HH:mm:ss'Z' format?

我想将时间戳为Wed, 20 Feb 2013 11:41:23 GMT转换为2013-02-20T11:41:23Z 我怎样才能做到这一点? 我想要UTC格式的ISO-8601(2013-20-02T04:51:03Z)。

我的代码如下

Date date=new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
String strDate = date.toString();
Date dt = formatter.parse(strDate );
System.out.println("Date " +dt);

输出为:

Exception in thread "main" java.text.ParseException: Unparseable date: "Wed Feb 20 03:50:03 PST 2013"

其格式错误,请使用: “ EEE MMM dd HH:mm:ss Z yyyy”这是一个例外,在问题中您有“ EEE,dd MMM yyyy HH:mm:ss Z” 2013年2月20日,星期三,格林尼治标准时间

尝试:

        Date date = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat(
                "EEE MMM dd HH:mm:ss Z yyyy");
        String strDate = date.toString();
        Date dt = null;
        try {
            dt = formatter.parse("Wed Feb 20 03:50:03 PST 2013");
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println("Date " + dt);
        System.out.println(new Timestamp(new Date().getTime()));

考虑使用Joda Time ,它内置了对解析和输出ISO格式日期字符串的支持。

new DateTime(DateTimeZone.UTC).toString()

您需要2个DateFormatter,一个用于解析,另一个用于输出。 您有一个要输出。

编辑:输出是这样的:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
String output = formatter.format(new Date());
System.out.println("Date " + output);
DateFormat format = new SimpleDateFormat ("yyyy-MM-dd'T'HH:mm:ss'Z'");
format.setTimeZone (TimeZone.getTimeZone ("UTC"));
Date date = new Date ();
System.out.println ("Date is: " + format.format (date));

您已经有一个Date对象。 您只需要将其formatString

如果SimpleDateFormat构造函数中的模式有效,则formatter.format(date)应该会为您提供所需的结果。

通过上述实现,您的代码如下所示:

Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
String dt = formatter.format(date);
System.out.println("Date " + dt);

结果为Date 2013-02-20T17:39:45Z

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM