孙肖宁

java中的时间转换为时间戳以及时间戳转换为时间
时间转换为时间戳(10位) public static long dateToTimestamp(Strin...
扫描右侧二维码阅读全文
12
2019/01

java中的时间转换为时间戳以及时间戳转换为时间

时间转换为时间戳(10位)

    public static long dateToTimestamp(String time) {
 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 try {
     Date date = simpleDateFormat.parse(time);
     long ts = date.getTime()/1000;
     return ts;
 } catch (ParseException e) {
     return 0;
 }
    }

时间戳转换诶时间

    public static String timestampToDate(long time) {
 if (time < 10000000000L) {
     time = time * 1000;
 }
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 String sd = sdf.format(new Date(Long.parseLong(String.valueOf(time))));
 return sd;
    }

获取当前时间戳(13位)

    public static long nowData() {
// 方法 一
// long data = System.currentTimeMillis();
// 方法 二
long data = Calendar.getInstance().getTimeInMillis();
// 方法三
// long data = new Date().getTime();
return data;

    }

获取当前时间(yyyy-MM-dd hh:mm:ss)

    public static String nowTime() {
 Date currentTime = new Date();// 获取当前时间
 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");// 格式化时间
 String dateString = formatter.format(currentTime);// 转换为字符串
 return dateString;
    }

比较时间大小

     public static int compare_date(String DATE1, String DATE2) {
   DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
   try {
       Date dt1 = df.parse(DATE1);
       Date dt2 = df.parse(DATE2);
       if (dt1.getTime() > dt2.getTime()) {
           return 1;
       } else if (dt1.getTime() < dt2.getTime()) {
           return -1;
       } else {
           return 0;
       }
   } catch (Exception exception) {
       exception.printStackTrace();
   }
   return 0;
        }

字符串转换为时间

    public static Date strToData(String data,String format) {
 Date date = null;
 try {
     date = new SimpleDateFormat(format).parse(data);
 } catch (ParseException e) {
     e.printStackTrace();
 }
 return date;
    }

时间格式化

    public static String parseTimestamp(String format) {
Date now = new Date();
SimpleDateFormat f = new SimpleDateFormat(format);
return f.format(now);
    }

附录1:为什么会生成13位的时间戳,13位的时间戳和10时间戳分别是怎么来的
原来java的date默认精度是毫秒,也就是说生成的时间戳就是13位的,而像c++或者php生成的时间戳默认就是10位的,因为其精度是秒。
附录2:13位时间戳如何转换成10位时间戳
本来以为java中有设置可以修改其时间精度,后来在百度上没有找到,就只能采用其它方法来转化,这里提供两种方式来转换。
第一种:通过substring方法,将13位的时间戳最后三位数字截取。
第二种:将13位时间戳除以1000取整。
小编使用的是第二种,在上面的代码中也有提现。

Last modification:January 31st, 2019 at 02:57 pm
If you think my article is useful to you, please feel free to appreciate

One comment

  1. 买卖货源网

    这个比较实用

Leave a Comment