Java UTC时间转CST时间的方法

谁践踏了优雅 2024-03-30 09:34 149阅读 0赞

有时,从数据库查询到时间是String类型的UTC时间,需要手动转为CST时间,以下是转换方法:

  1. import java.text.ParseException;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Calendar;
  4. import java.util.Date;
  5. public class DateUtils {
  6. private static final String utcFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
  7. private static final String cstFormat ="yyyy-MM-dd HH:mm:ss";
  8. //UTC时间转CST时间
  9. //UTC时间样例:2022-04-04T09:46:45.890Z
  10. //CST时间样例:2022-04-04 17:46:46
  11. public static String parseUTCToCST(String UTCStr){
  12. Date date = null;
  13. String cstTime = null;
  14. SimpleDateFormat utc = new SimpleDateFormat(utcFormat);
  15. SimpleDateFormat cst = new SimpleDateFormat(cstFormat);
  16. Calendar calendar = null;
  17. try {
  18. date = utc.parse(UTCStr);
  19. calendar = Calendar.getInstance();
  20. calendar.setTime(date);
  21. //注意这里,需要+8小时
  22. calendar.set(Calendar.HOUR,calendar.get(Calendar.HOUR)+8);
  23. cstTime = cst.format(calendar.getTime());
  24. } catch (ParseException e) {
  25. e.printStackTrace();
  26. }
  27. return cstTime;
  28. }
  29. }

发表评论

表情:
评论列表 (有 0 条评论,149人围观)

还没有评论,来说两句吧...

相关阅读

    相关 cst时间(utccst时间)

    美国洛杉矶22点是中国几点? 美国洛杉矶用的是太平洋时区,冬令时与北京相差16小时,所以美国洛杉矶22点是中国第二天14点;夏令时比标准时间早一个小时,与北京相差15小时