PageRenderTime 213ms CodeModel.GetById 34ms RepoModel.GetById 0ms app.codeStats 0ms

/01.TEMP-PROJECT-Utils/src/main/java/com/temp/utils/LocalDateTimeUtils.java

https://gitlab.com/truongnv9xbn/spring-boot-project
Java | 150 lines | 115 code | 25 blank | 10 comment | 25 complexity | abe591d14a3054506455924a908783c5 MD5 | raw file
  1. package com.temp.utils;
  2. import java.sql.Timestamp;
  3. import java.text.DateFormat;
  4. import java.text.ParseException;
  5. import java.text.SimpleDateFormat;
  6. import java.time.LocalDate;
  7. import java.time.LocalDateTime;
  8. import java.time.format.DateTimeFormatter;
  9. import java.util.Date;
  10. import java.util.regex.Matcher;
  11. import java.util.regex.Pattern;
  12. public class LocalDateTimeUtils {
  13. /**
  14. * Java 8 sử dụng DateTimeFormatterđể định dạng ZonedDateTime, LocalDateTime,
  15. * LocalDatevà LocalTimeđể chuỗi với các mẫu tùy chỉnh được xác định trước. (sử
  16. * dụng ngày tháng năm)
  17. */
  18. public static final String DEFAULT_DATE_FORMAT = "dd/MM/yyyy";
  19. public static final String TIMESTAMP = "yyyy-MM-dd HH:mm:ss";
  20. public static final String DEFAULT_HHMMSS = "HH:mm:ss";
  21. /**
  22. * sử dụng ngày tháng năm giờ phút giây
  23. */
  24. public static final String DEFAULT_DATE_TIME_FORMAT = "dd/MM/yyyy HH:mm:ss";
  25. public static final String EXPORT_DATE_FORMAT = "yyyyMMddHHmmss";
  26. public static final Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$",
  27. Pattern.CASE_INSENSITIVE);
  28. public static boolean validateEmail(String emailStr) {
  29. emailStr = emailStr.trim();
  30. Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(emailStr);
  31. return matcher.find();
  32. }
  33. public static String formatLocalDate(LocalDate localDate) {
  34. DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT);
  35. return localDate == null ? "" : localDate.format(formatter);
  36. }
  37. public static String convertDateToString(Date inputDate) {
  38. String dateString = "";
  39. SimpleDateFormat sdfr = new SimpleDateFormat(DEFAULT_DATE_FORMAT);
  40. if(inputDate != null) {
  41. dateString = sdfr.format(inputDate);
  42. }
  43. return dateString;
  44. }
  45. public static String formatLocalDateTime(LocalDateTime localDateTime) {
  46. DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT);
  47. return localDateTime == null ? "" : localDateTime.format(formatter);
  48. }
  49. public static LocalDate toLocalDate(String strDate) {
  50. if(strDate != null && strDate != "") {
  51. DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT);
  52. return LocalDate.parse(strDate, formatter);
  53. } else {
  54. return null;
  55. }
  56. }
  57. public static String formatLocalDateTimeToTimestamp(LocalDateTime localDateTime) {
  58. DateTimeFormatter formatter = DateTimeFormatter.ofPattern(TIMESTAMP);
  59. return localDateTime == null ? "" : localDateTime.format(formatter);
  60. }
  61. public static String formatLocalDateTimeToDefaultFormat(LocalDateTime localDateTime) {
  62. DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT);
  63. return localDateTime == null ? "" : localDateTime.format(formatter);
  64. }
  65. public static String formatLocalDateTimeToExportFormat(LocalDateTime localDateTime) {
  66. DateTimeFormatter formatter = DateTimeFormatter.ofPattern(EXPORT_DATE_FORMAT);
  67. return localDateTime == null ? "" : localDateTime.format(formatter);
  68. }
  69. public static String formatTimestampToString(Timestamp timestamp) {
  70. if (timestamp == null) {
  71. return "";
  72. }
  73. Date date = new Date();
  74. date.setTime(timestamp.getTime());
  75. String formattedDate = new SimpleDateFormat(DEFAULT_DATE_FORMAT).format(date);
  76. return formattedDate;
  77. }
  78. public static String convertTimestampToStringDateTime(Timestamp timestamp) {
  79. if (timestamp == null) {
  80. return "";
  81. }
  82. Date date = new Date();
  83. date.setTime(timestamp.getTime());
  84. String formattedDate = new SimpleDateFormat(DEFAULT_DATE_FORMAT).format(date);
  85. return formattedDate;
  86. }
  87. public static Timestamp convertStringToTimestamp(String strDate) {
  88. try {
  89. if(strDate != null && strDate != "") {
  90. DateFormat formatter = new SimpleDateFormat(DEFAULT_DATE_FORMAT);
  91. // you can change format of date
  92. Date date = formatter.parse(strDate);
  93. Timestamp timeStampDate = new Timestamp(date.getTime());
  94. return timeStampDate;
  95. } else {
  96. return null;
  97. }
  98. } catch (ParseException e) {
  99. //System.out.println("Exception :" + e);
  100. return null;
  101. }
  102. }
  103. public static String convertTimestampToStringddMMyyyyHHmmss(Timestamp timestamp) {
  104. if (timestamp == null) {
  105. return "";
  106. }
  107. Date date = new Date();
  108. date.setTime(timestamp.getTime());
  109. String formattedDate = new SimpleDateFormat(DEFAULT_DATE_TIME_FORMAT).format(date);
  110. return formattedDate;
  111. }
  112. public static String convertTimestampToStringHHmmss(Timestamp timestamp) {
  113. if (timestamp == null) {
  114. return "";
  115. }
  116. Date date = new Date();
  117. date.setTime(timestamp.getTime());
  118. String formattedDate = new SimpleDateFormat(DEFAULT_HHMMSS).format(date);
  119. return formattedDate;
  120. }
  121. public static Timestamp getCurrentTimestamp() {
  122. Timestamp timestamp = new Timestamp(System.currentTimeMillis());
  123. return timestamp;
  124. }
  125. }