如何使用时区转换日期字符串

时间:2016-04-21 02:32:19

标签: java date datetime timezone

我有一些日期格式的字符串,例如

Sat Aug 15 13:53:41 MYT 2015

我使用SimpleDateFormate并尝试将String类型转换为Date类型。它将String类型转换为Date类型,但是,时区" MYT" Java无法识别,而是将其设置为我的计算机的默认时区,即" CST"。我需要在Date对象中记录时区。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

如果您事先知道时区,可以将其硬编码到格式化程序中,如下所示:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("Asia/Kuala_Lumpur"));
Date date = format.parse("2016-01-01 00:00:00 MYT");

答案 1 :(得分:0)

您可以按照代码

String dateStr = "Sat Aug 15 13:53:41 MYT 2015";
DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy");
Date date = (Date)formatter.parse(dateStr);
System.out.println(date);        

Calendar cal = Calendar.getInstance();
cal.setTime(date);
String formatedDate = cal.get(Calendar.DATE) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" +         cal.get(Calendar.YEAR);

System.out.println("formatedDate : " + formatedDate); 

资源链接:

  1. How to convert “ Mon Jun 18 00:00:00 IST 2012” to 18/06/2012?