cod*_*joe 3 java timezone date utc gmt
我正在尝试将一些UTC时间的字符串转换为应设置为GMT-5的Java Calendar对象.
我当前的UTC字符串输入是这样的:
UTC日期:20050329174411
我使用这段代码(我检测'pattern'如下所示):
DateFormat dateFormat = new SimpleDateFormat(pattern);
Date date = dateFormat.parse(utcDate);
calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT-5"));
calendar.setTime(date);
Run Code Online (Sandbox Code Playgroud)
然后我打印出这样的时间:
calendar.getTime()
我得到了这个结果:
格林威治标准时间:2005年3月29日星期二17:44:11
我需要支持这些日期/时间字符串模式:
FORMAT_UTC4 = "yyyy";
FORMAT_UTC6 = "yyyyMM";
FORMAT_UTC8 = "yyyyMMdd";
FORMAT_UTC10 = "yyyyMMddHH";
FORMAT_UTC12 = "yyyyMMddHHmm";
FORMAT_UTC14 = "yyyyMMddHHmmss";
Run Code Online (Sandbox Code Playgroud)
我希望时间设置为"12:44:11".我已经阅读了几个例子,我发现日期时间处理非常令人困惑.对我来说,它总是一样的,我得到一些字符串格式化的UTC,我把它转换为GMT-5.我觉得它应该很容易!
参考1:如何用Java获取UTC或GMT中的当前日期和时间?
参考2:如何使用Java处理日历时区?
在解析日期之前,必须将SimpleDateFormat的时区设置为UTC.否则,它使用您的默认时区.
要在"GMT-5"时区中显示日期,您应该使用另一个DateFormat,时区设置为GMT-5,并使用此DateFormat格式化日期.toString()Date 的方法使用您的默认时区将日期转换为可读的内容.