在java中将GMT转换为IST?

har*_*tps 3 java

我有一个GMT字段,其中用户输入要转换为IST的时间(例如:在小时字段18,分钟字段30,在会话字段am/pm中).我需要获取这些输入并转换为java中的IST ???

Mic*_*rdt 15

如果您意识到时区仅与格式化为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);
Run Code Online (Sandbox Code Playgroud)

  • GMT和UTC的定义略有不同,但总体效果在实践中是微不足道的. (3认同)