我想提供时区支持..因为我将日期值与UTC时间一起存储在数据库中,然后我根据用户本地时区转换时间..因为我在中使用这一行我的数据库查询
CONVERT_TZ(modifiedtime,'+00:00','+05:30')
这将为我提供印度标准时间的本地时区...但我的问题是我只有秒数和特定用户的 ID 偏移量..
无论如何,我可以将偏移量转换为类似 +05:30 or say +04.00 ,+04.30..
的格式
任何人都可以给我正确的解决方案,如果我可以将以秒为单位的偏移量转换为类似 +hh:mm
的格式这样我就可以直接给它查询...
我正在使用liferay 6.1门户,因为我已经创建了我的自定义portlet..所以我需要用java语言编写这个代码...所以请有人指导我吗?
最佳答案
以下内容可能会更短一些并且更方便
private static SimpleDateFormat plus = new SimpleDateFormat("+hh:mm");
private static SimpleDateFormat minus = new SimpleDateFormat("-hh:mm");
private static String getTimeCode(int seconds) {
SimpleDateFormat simpleDateFormat = (seconds < 0) ? minus : plus;
if (seconds < 0) seconds = 12 * 3600 - seconds;
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
return simpleDateFormat.format(new Date(seconds * 1000));
}
int seconds = 5 * 3600 + 30 * 60;
String format = getTime(seconds); //+05:30
format = getTime(-1 * seconds); //-05:30
以上代码可能并不适用所有编码标准,但是 SO 的缩写
关于java - 如何将给定的偏移时间(以秒为单位)转换为 +hh :mm in java? 等格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15081930/