mysql 时间戳与毫秒数,java 字符串与毫秒数,UTC时间

业务:根据时间对比来取数据

在mysql中字段time的值为:2018-02-03

在java中的时间字符串为:2018-02-04

mysql时间戳与毫秒数:UNIX_TIMESTAMP('2018-02-03') (秒) -> 转换为毫秒数需要添加3个0

java字符串与时间戳:

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    HH:24小时 hh:12小时

//2018-02-04,因为我们的格式带有时分秒,所以需要添加字符串"00:00:00"

//此处得到的为毫秒数

long time = simpleDateFormat.parse("2018-02-04"+" 00:00:00").getTime();

//left(time,10) -> 取出time从左向右前10位,然后进行比较

java中的sql语句:select * from text where UNIX_TIMESTAMP('2018-02-03') <= left(" + time  + ",10) ;

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

额外添加UTC时间的转换:

// 取得本地时间:
private Calendar cal = Calendar.getInstance();
// 取得时间偏移量:
private int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);
// 取得夏令时差:
private int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);

cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));

int mills = ptcTime.getTime();//int类型

猜你喜欢

转载自blog.csdn.net/fearlessnesszhang/article/details/80665875