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

本文介绍了如何在Java中处理日期字符串并将其转换为时间戳,以便与MySQL数据库中的时间字段进行有效比较。同时,提供了将Java时间字符串与MySQL时间字段进行精确匹配的方法,并讨论了UTC时间的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

在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类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值