【小知识大用处】Java与Unix时间戳互转
发布日期:2021-04-30 21:09:53
浏览次数:82
分类:精选文章
本文共 1111 字,大约阅读时间需要 3 分钟。
Unix 时间戳是从1970年1月1日(UTC/GMT 午夜)开始计算的秒数,不考虑闰秒。例如,1578179845对应的时间是2020年1月5日07:17:25 UTC。
在Java中,获取时间戳的API返回的并不是Unix时间戳,而是从1970年1月1日开始计算的毫秒数。例如,1578179845000对应的时间是2020年1月5日07:17:25 UTC。
将毫秒级时间戳转换为秒级非常简单,只需将其除以1000即可。例如:
long timeStamp = System.currentTimeMillis();int timeStampUnix = (int) (timeStamp / 1000); // 1578179845
然而,Unix时间戳作为天文数字对用户来说可能不够直观。为了方便用户理解,我们需要对其进行格式化处理。Java中可以使用SimpleDateFormat类来实现。
格式化时间戳的示例代码如下:
int timeStampUnix = 1578179845;SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String result = simpleDateFormat.format(new Date(timeStampUnix * 1000L)); // 2020-01-05 07:17:25 如果需要将格式化后的字符串再次转换为时间戳,可以使用以下方法:
String str = "2020-01-05 07:17:25";SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");long parsedDate = simpleDateFormat.parse(str).getTime();int timeStampUnix = (int) (parsedDate / 1000); // 1578179845 在实际项目中,为了提高代码的可维护性和扩展性,建议使用第三方类库如DateFormatUtils进行格式化和转换操作。例如:
DateFormatUtils.format(1578179845 * 1000L, "yyyy-MM-dd HH:mm:ss")
这样不仅代码简洁,而且可以避免手动处理日期和时间相关的复杂问题。
如果需要进一步了解Java与Unix时间戳的互转操作,可以参考相关文档或类库的API文档。希望这篇文章能对您有所帮助!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2026年06月07日 23时57分32秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHP获取当前文件的绝对路径
2023-03-01
PHP获取当前时间、时间戳的各种格式写法汇总
2023-03-01
PHP获取当前页面的完整URL
2023-03-01
php获取数据库中数据生成json,中文乱码问题的解决方案
2023-03-01
php获取文件夹中文件的两种方法
2023-03-01
PHP获取日期的一些方法总结
2023-03-01
R2学习记录
2023-03-01
PHP获取本周的每一天的时间
2023-03-01
php获取用户真实IP和防刷机制
2023-03-01
php获取网页内容的三种方法
2023-03-01
R-CNN算法优化策略
2023-03-01
PHP规范PSR0和PSR4的理解
2023-03-01
php解析ipa包,获取logo
2023-03-01
R&Rstudio安装各种包
2023-03-02
php设置cookie,在js中如何获取
2023-03-02
php设置socket超时时间
2023-03-02
php设计模式 萨莱 pdf,PHP设计模式 建造者模式
2023-03-02
PHP设计模式之----观察者模式
2023-03-02
php设计模式之装饰器模式
2023-03-02
R&Python Data Science系列:数据处理(5)--字符串函数基于R(一)
2023-03-02