Java时间戳处理

unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,其值从0开始,按照ISO 8601规范为 :1970-01-01 00:00:00Z。一个小时表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。

时间戳常量

private final static long second = 1000;
private final static long minute = 60000;
private final static long hour   = 3600000;
private final static long day    = 86400000;
private final static long month  = 2592000000L;
private final static long year   = 31104000000L;

获取当前时间戳

long curTimeStamp = System.currentTimeMillis();

时间戳转字符串

long curTimeStamp = System.currentTimeMillis();
Date date = new Date(curTimeStamp);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String stringDate = sdf.format(date);

时间戳计算

// 当前时刻的前一小时时间戳
long resTimeStamp = curTimeStamp - hour;

今天零点的时间戳

long time1 = System.currentTimeMillis();  
long zero = time1/(1000*3600*24)*(1000*3600*24) - TimeZone.getDefault().getRawOffset();