如果您意识到时区仅与格式化为String的日期相关,则这是非常容易且显而易见的-秒/毫秒时间戳(
java.util.Date仅是包装器)始终是隐式UTC(正确地称为GMT)。而且,在这种时间戳和字符串之间进行转换始终会同时使用时区。
所以这是您需要做的:
DateFormat utcFormat = new SimpleDateFormat(patternString); utcFormat.setTimeZone(TimeZone.getTimeZone("UTC")); DateFormat indianFormat = new SimpleDateFormat(patternString); indianFormat .setTimeZone(TimeZone.getTimeZone("Asia/Kolkata")); Date timestamp = utcFormat.parse(inputString); String output = indianFormat.format(timestamp);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)