日期getTime()返回自1970年1月1日以来的毫秒数.Unixtime是自1970年1月1日起的秒数.我通常不会用java编写代码,但我正在修复一些错误.我有:

Date now = new Date();      
Long longTime = new Long(now.getTime()/1000);
return longTime.intValue();

有没有更好的方法在java中获取unixtime?

推荐答案

避免使用/System.currentTimeMillis()创建日期对象.除以System.currentTimeMillis()0可以得到Unix纪元.

正如注释中提到的,对于unixTime变量的类型,通常需要一个原语long(小写-l long),而不是盒装对象long(大写-L long).

long unixTime = System.currentTimeMillis() / 1000L;

Java相关问答推荐

如何使用CSS为选定但未聚焦的表格行设置背景 colored颜色 ?

我的scala文件失败了Scala.g4 ANTLR语法

为什么一个java函数会返回一个作为参数传递给它的对象?

将数组整体转换为链接表

现场观看Android Studio中的变化

RichFaces 3.x-Spring Boot-迁移web.xml

Java中的死锁及其重入锁和锁

计算两个浮点数之间的距离是否对称?

在Eclipse中调试未导出的JDK模块的Java包

在Ubuntu 23.10上使用mp3创建JavaFX MediaPlayer时出错

Oj算法 MatrixR032从字符串、归一化和余弦相似度计算创建

无法使用Freemarker从XML中读取重复的标记值

具有多个模式的DateTimeForMatter的LocalDate.parse失败

为什么JavaFX MediaPlayer音频播放在Windows和Mac上运行良好,但在Linux(POPOS/Ubuntu)上却有问题?

在权限列表中找不到我的应用程序

TinyDB问题,无法解析符号';上下文&

Bash数组的单引号元素并使用空格连接

多线程、并发和睡眠未按预期工作

Java方法参数:括号中的类型声明?

java中的网上购物车解析错误