我正在尝试将一些 UTC 时间的字符串转换为应该设置为 GMT-5 的 java Calendar 对象。
我当前的 UTC 字符串输入是这样的:
UTC 日期:20050329174411
我使用此代码(我检测到“模式”,如下所示):
DateFormat dateFormat = new SimpleDateFormat(pattern);
Date date = dateFormat.parse(utcDate);
calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT-5"));
calendar.setTime(date);
然后我像这样打印时间:
日历.getTime()
我得到了这个结果:
GMT 日期:2005 年 3 月 29 日星期二 17:44:11 EST
我需要支持这些日期/时间字符串模式:
FORMAT_UTC4 = "yyyy";
FORMAT_UTC6 = "yyyyMM";
FORMAT_UTC8 = "yyyyMMdd";
FORMAT_UTC10 = "yyyyMMddHH";
FORMAT_UTC12 = "yyyyMMddHHmm";
FORMAT_UTC14 = "yyyyMMddHHmmss";
我希望时间设置为“12:44:11”。我已经阅读了几个示例,发现日期时间处理非常混乱。对我来说,它总是一样的,我得到某种格式的 UTC 字符串,然后将其转换为 GMT-5。我真的觉得这应该很容易!
参考 1:如何在 Java 中以 UTC 或 GMT 形式获取当前日期和时间?
参考 2:如何使用 Java 处理日历时区?