DateUtil.java 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.genersoft.iot.vmp.gb28181.utils;
  2. import java.text.ParseException;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5. import java.util.Locale;
  6. /**
  7. * @Description:时间工具类,主要处理ISO 8601格式转换
  8. * @author: swwheihei
  9. * @date: 2020年5月8日 下午3:24:42
  10. */
  11. public class DateUtil {
  12. //private static final String yyyy_MM_dd_T_HH_mm_ss_SSSXXX = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX";
  13. private static final String yyyy_MM_dd_T_HH_mm_ss_SSSXXX = "yyyy-MM-dd'T'HH:mm:ss";
  14. private static final String yyyy_MM_dd_HH_mm_ss = "yyyy-MM-dd HH:mm:ss";
  15. public static String yyyy_MM_dd_HH_mm_ssToISO8601(String formatTime) {
  16. SimpleDateFormat oldsdf = new SimpleDateFormat(yyyy_MM_dd_HH_mm_ss, Locale.getDefault());
  17. SimpleDateFormat newsdf = new SimpleDateFormat(yyyy_MM_dd_T_HH_mm_ss_SSSXXX, Locale.getDefault());
  18. try {
  19. return newsdf.format(oldsdf.parse(formatTime));
  20. } catch (ParseException e) {
  21. e.printStackTrace();
  22. }
  23. return "";
  24. }
  25. public static String ISO8601Toyyyy_MM_dd_HH_mm_ss(String formatTime) {
  26. SimpleDateFormat oldsdf = new SimpleDateFormat(yyyy_MM_dd_T_HH_mm_ss_SSSXXX, Locale.getDefault());
  27. SimpleDateFormat newsdf = new SimpleDateFormat(yyyy_MM_dd_HH_mm_ss, Locale.getDefault());
  28. try {
  29. return newsdf.format(oldsdf.parse(formatTime));
  30. } catch (ParseException e) {
  31. e.printStackTrace();
  32. }
  33. return "";
  34. }
  35. public static long yyyy_MM_dd_HH_mm_ssToTimestamp(String formatTime) {
  36. SimpleDateFormat format=new SimpleDateFormat(yyyy_MM_dd_HH_mm_ss);
  37. //设置要读取的时间字符串格式
  38. Date date;
  39. try {
  40. date = format.parse(formatTime);
  41. Long timestamp=date.getTime()/1000;
  42. //转换为Date类
  43. return timestamp;
  44. } catch (ParseException e) {
  45. e.printStackTrace();
  46. }
  47. return 0;
  48. }
  49. }