DateUtil.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package com.gyee.sampleimpala.common.util;
  2. import lombok.extern.slf4j.Slf4j;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Calendar;
  6. import java.util.Date;
  7. @Slf4j
  8. public class DateUtil {
  9. /**
  10. * 获取当前时间
  11. *
  12. * @return
  13. */
  14. public static String getCurrentDate() {
  15. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  16. String date = df.format(new Date());
  17. return date;
  18. }
  19. /**
  20. * 获取前 N 小时的时间
  21. *
  22. * @param hour
  23. * @return
  24. */
  25. public static String getPreviousDate(int hour) {
  26. Calendar calendar = Calendar.getInstance();
  27. calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - hour);
  28. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  29. String date = df.format(calendar.getTime());
  30. return date;
  31. }
  32. /**
  33. * 获取当前时间后 N 小时的时间
  34. *
  35. * @param hour
  36. * @return
  37. */
  38. public static String getNextDate(int hour) {
  39. Calendar calendar = Calendar.getInstance();
  40. calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + hour);
  41. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  42. String date = df.format(calendar.getTime());
  43. return date;
  44. }
  45. /**
  46. * 获取当前时间后 N 小时的时间
  47. *
  48. * @param hour
  49. * @return
  50. */
  51. public static Long getNextDateTimestamp(int hour) {
  52. Calendar calendar = Calendar.getInstance();
  53. calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + hour);
  54. long time = calendar.getTime().getTime();
  55. return time;
  56. }
  57. /**
  58. * 字符串时间转时间戳
  59. * @param time
  60. * @return
  61. */
  62. public static Long covertDateTimestamp(String time){
  63. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  64. long stamp = 0;
  65. try {
  66. stamp = sdf.parse(time).getTime();
  67. } catch (ParseException e) {
  68. e.printStackTrace();
  69. }
  70. return stamp;
  71. }
  72. public static void main(String[] args) {
  73. System.out.println(getCurrentDate());
  74. System.out.println(getPreviousDate(3 * 360 * 24));
  75. // System.out.println(covertDateTimestamp("2021-05-12 00:00:00"));
  76. }
  77. }