Java SimpleDateFormat解析时区,例如America/Los_Angeles [英] Java SimpleDateFormat parse Timezone like America/Los_Angeles

查看:208
本文介绍了Java SimpleDateFormat解析时区,例如America/Los_Angeles的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用Java解析以下字符串并将其转换为日期:

I want to parse the following string in Java and convert it to a date:

DTSTART;TZID=America/Los_Angeles:20140423T120000

我尝试过:

SimpleDateFormat sdf = new SimpleDateFormat("'DTSTART;TZID='Z':'yyyyMMdd'T'hhmmss");
Date start = sdf.parse("DTSTART;TZID=America/Los_Angeles:20140423T120000");

这:

SimpleDateFormat sdf = new SimpleDateFormat("'DTSTART;TZID='z':'yyyyMMdd'T'hhmmss");
Date start = sdf.parse("DTSTART;TZID=America/Los_Angeles:20140423T120000");

但是它仍然不起作用.我认为问题出在America/Los_Angeles. 你能帮我吗?

But it still doesn't work. I think the problem is in America/Los_Angeles. Can you help me please?

谢谢

推荐答案

使用注意:您必须先拆分日期字符串,然后才能执行此操作.

Note: You have to split your date string before doing this operation.

    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd'T'hhmmss");

    TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
    sdf.setTimeZone(tz);

    Date start = sdf.parse("20140423T120000");


SimpleDateFormat模式Z中表示RFC 822 4-digit time zone


In SimpleDateFormat pattern Z represent RFC 822 4-digit time zone

有关更多信息,请参见 SimpleDateFormat #timezone .

For more info have a look at SimpleDateFormat#timezone.

这篇关于Java SimpleDateFormat解析时区,例如America/Los_Angeles的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆