我有一些日期格式的字符串,例如
Sat Aug 15 13:53:41 MYT 2015
我使用SimpleDateFormate并尝试将String类型转换为Date类型。它将String类型转换为Date类型,但是,时区" MYT" Java无法识别,而是将其设置为我的计算机的默认时区,即" CST"。我需要在Date对象中记录时区。我怎么能这样做?
答案 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);
资源链接: