java中的时间和时间戳

Timestamp就是所谓的时间戳。这个主要用在数据库上,你可以再java.sql这个包内找到这个类,
一般数据库里如果用Date这个类的话,那你取出来的时候只能到某一天,也就是日,但是Timestamp的话,就是到小时一直到纳秒,很精确的。
时间戳就是一种类型,只是精度很高,比datetime要精确的多,通常用来防止数据出现脏读现象 。

 

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

 

java中时间和时间戳的转换

代码:

package cn.xxs;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Time {
	public static void main(String[] args) {
		String res = "2018-12-18 10:04:59";/** 时间 */
		int s = 1545098699;/** 时间戳 */		
		System.out.println("时间戳转换为时间:"+stampToDate(s));/** 时间戳转换为时间 */
		System.out.println("时间转换为时间戳:"+dateToStamp(res));/** 时间转换为时间戳 */
	}
	
	/* 
     * 将时间转换为时间戳
     */    
    public static String dateToStamp(String s){
    	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    	String res = "";    
        if (!"".equals(s)) {
        	try {
        		res = String.valueOf(sdf.parse(s).getTime()/1000);
			} catch (Exception e) {
				System.out.println("传入了null值");
			}			
		}else {	
			long time = System.currentTimeMillis();  
			res = String.valueOf(time/1000);
		}
                 
        return res;         
    }
	
	
	/* 
     * 将时间戳转换为时间
     */
    public static String stampToDate(int time){
    	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String times = format.format(new Date(time * 1000L));
//	    System.out.println("日期格式---->" + times);
	    return times;
    }
	

}

结果:

java中的时间和时间戳_第1张图片

你可能感兴趣的:(java中的时间和时间戳)