TimeExchange.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package com.happy.Until;
  2. import java.sql.Timestamp;
  3. import java.text.DateFormat;
  4. import java.text.ParseException;
  5. import java.text.SimpleDateFormat;
  6. import java.util.Date;
  7. /**
  8. * 时间转化工具 date转为时间戳 时间戳转date 互相与String的转换
  9. * 所有出现的String time 格式都必须为(yyyy-MM-dd HH:mm:ss),否则出错
  10. * @author 赵仁杰
  11. *
  12. */
  13. public class TimeExchange {
  14. /**
  15. * String(yyyy-MM-dd HH:mm:ss) 转 Date
  16. *
  17. * @param time
  18. * @return
  19. * @throws ParseException
  20. */
  21. // String date = "2010/05/04 12:34:23";
  22. public static Date StringToDate(String time) throws ParseException {
  23. Date date = new Date();
  24. // 注意format的格式要与日期String的格式相匹配
  25. DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  26. try {
  27. date = dateFormat.parse(time);
  28. System.out.println(date.toString());
  29. } catch (Exception e) {
  30. e.printStackTrace();
  31. }
  32. return date;
  33. }
  34. /**
  35. * Date转为String(yyyy-MM-dd HH:mm:ss)
  36. *
  37. * @param time
  38. * @return
  39. */
  40. public static String DateToString(Date time) {
  41. String dateStr = "";
  42. Date date = new Date();
  43. DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH/mm/ss");
  44. try {
  45. dateStr = dateFormat.format(time);
  46. System.out.println(dateStr);
  47. } catch (Exception e) {
  48. e.printStackTrace();
  49. }
  50. return dateStr;
  51. }
  52. /**
  53. * String(yyyy-MM-dd HH:mm:ss)转10位时间戳
  54. * @param time
  55. * @return
  56. */
  57. public static Integer StringToTimestamp(String time){
  58. int times = 0;
  59. try {
  60. times = (int) ((Timestamp.valueOf(time).getTime())/1000);
  61. } catch (Exception e) {
  62. e.printStackTrace();
  63. }
  64. if(times==0){
  65. System.out.println("String转10位时间戳失败");
  66. }
  67. return times;
  68. }
  69. /**
  70. * 10位int型的时间戳转换为String(yyyy-MM-dd HH:mm:ss)
  71. * @param time
  72. * @return
  73. */
  74. public static String timestampToString(Integer time){
  75. //int转long时,先进行转型再进行计算,否则会是计算结束后在转型
  76. long temp = (long)time*1000;
  77. Timestamp ts = new Timestamp(temp);
  78. String tsStr = "";
  79. DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  80. try {
  81. //方法一
  82. tsStr = dateFormat.format(ts);
  83. System.out.println(tsStr);
  84. } catch (Exception e) {
  85. e.printStackTrace();
  86. }
  87. return tsStr;
  88. }
  89. /**
  90. * 10位时间戳转Date
  91. * @param time
  92. * @return
  93. */
  94. public static Date TimestampToDate(Integer time){
  95. long temp = (long)time*1000;
  96. Timestamp ts = new Timestamp(temp);
  97. Date date = new Date();
  98. try {
  99. date = ts;
  100. //System.out.println(date);
  101. } catch (Exception e) {
  102. e.printStackTrace();
  103. }
  104. return date;
  105. }
  106. /**
  107. * Date类型转换为10位时间戳
  108. * @param time
  109. * @return
  110. */
  111. public static Integer DateToTimestamp(Date time){
  112. Timestamp ts = new Timestamp(time.getTime());
  113. return (int) ((ts.getTime())/1000);
  114. }
  115. public static void main(String [] args){
  116. System.out.println(StringToTimestamp("2011-05-09 11:49:45"));
  117. System.out.println(DateToTimestamp(TimestampToDate(StringToTimestamp("2011-05-09 11:49:45"))));
  118. }
  119. }