c语言 long型转时间戳,java String转向时间戳(long类型)

本文详细介绍了如何将String类型的日期转换为正确的时间戳,纠正了网络上存在的错误做法。通过示例代码展示了一个处理'yyyy-MM-dd HH:mm:ss'格式字符串转时间戳的Java方法,同时解释了为什么要除以1000来从毫秒转换为秒单位。该方法适用于需要准确转换日期字符串到时间戳的场景。
摘要由CSDN通过智能技术生成

从网上找了半天,很多人都是抄袭别人,而且还不正确,相当气愤!

下面是我修改后正确的把String类型转为事件戳的方法:

public long getTimestamp(String sTime) throws ParseException{

System.out.println(sTime);

Timestamp ts = Timestamp.valueOf(sTime);

Date date2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss")

.parse("1970/01/01 08:00:00");

long l = ts.getTime() - date2.getTime() > 0 ? ts.getTime()

- date2.getTime() : date2.getTime() - ts.getTime();

long rand = (int)(l/1000);

return rand;

}

sTime是“yyyy-MM-dd HH:mm:ss”格式的,否则会抛出转换异常,转换失败。

这个转换绝对正确,不信可以用其他工具比较命令行输出的sTime和rand结果。

为什么要除以1000呢,因为时间戳的默认单位是毫秒,System.currentTimeMillis(); 返回的就是以毫秒为单位的系统时间戳

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值