代码改变世界

Java中时间与时间戳的转换

2020-02-08 00:06  默默不语  阅读(22434)  评论(0编辑  收藏  举报

Timestamp就是时间戳,主要用于数据库中,该类在java.sql下。如果在数据库中用Date类,只能到某一天,而时间戳可以到秒,比Date要精确,通常用于防止数据脏读现象。

代码:

package TimeAndStamp;

import java.util.Arrays;
import java.util.List;
import java.text.SimpleDateFormat;
import java.util.Date;
public class test {
    
    /* 
     * 将时间转换为时间戳
     */    
    public static String dateToStamp(String time){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String stamp = "";    
        if (!"".equals(time)) {//时间不为空
            try {
                stamp = String.valueOf(sdf.parse(time).getTime()/1000);
            } catch (Exception e) {
                System.out.println("参数为空!");
            }            
        }else {    //时间为空
            long current_time = System.currentTimeMillis();  //获取当前时间
            stamp = String.valueOf(current_time/1000);
        }
        return stamp;         
    }

    
    /* 
     * 将时间戳转换为时间
     */
    public static String stampToDate(int time){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time_Date = sdf.format(new Date(time * 1000L));
        return time_Date;

    }

    public static void main(String[] args) {
        String time1 = "2020-2-7 12:30:56";
        int time2 = 1581004800;
        System.out.println("将时间转为时间戳:"+dateToStamp(time1));
        System.out.println("将时间戳转为时间:"+stampToDate(time2));
    }


}

运行结果: