【发布时间】:2012-12-11 15:18:34
【问题描述】:
TimeZone timeZone = TimeZone.getTimeZone("Asia/Calcutta");
int offset1 = timeZone.getRawOffset();
System.out.println("offset = "+ offset);
int offsetHrs = offset / 1000 / 60 / 60;
int offsetMins = offset / 1000 / 60 % 60;
System.out.println("offsetHrs="+ offsetHrs);
System.out.println("offsetMins="+ offsetMins);
GMTOffset = offsetHrs + ":" + offsetMins;
System.out.println("GMTOffset = " + utzOffset);
输出将是
偏移量 = 19800000
offsetHrs=5
offsetMins=30
GMT 偏移量 = 5:30
我在 ms sql server 中使用这个偏移值来转换时区。 sql server 将采用以下格式
(+/-)HH:MM
我的结果是 5:30,但它给出了一个无效的时区错误 应该是 +5:30。
另一种情况
TimeZone timeZone = TimeZone.getTimeZone("Etc/GMT");
在这种情况下,偏移量将为“0”
但是 ms sql 只需要 +00:00 或 -00:00 (+/- 符号必须)
谁能帮助我如何以 (+/-)HH:MM 格式格式化偏移量。
【问题讨论】:
标签: java datetime timezone string-formatting