java里Date 10位时间戳(Timestamp) String 相互转换

有很多注释,就不做过多解释了

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

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Java日期时间API系列31

  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前