【发布时间】:2021-11-06 08:04:08
【问题描述】:
我想在 Android Studio 中使用 Java 将从系统接收到的日期和时间转换为整数
例如
系统日期/时间:2021-06-18 19:51:43 --> 转换为:1624029703
请指导我
【问题讨论】:
-
你有没有尝试过?您确实需要先努力进行搜索。我在下面的评论中的问题是在
-
int没有足够的位来存储日期和时间,long有足够的位来存储自 Unix 纪元以来的毫秒数,但我认为它不能保留时区。 -
您的搜索结果是什么?我找到了例如How to Convert Timestamp String to Unix Time (Epoch) in Java。请了解您应该在此处发布问题之前进行搜索。
-
不要使用
SimpleDateFormat、Calendar或Date。使用 java.time,现代 Java 日期和时间 API。LocalDateTime.parse("2021-06-18 19:51:43", DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss")).atZone(ZoneId.of("Asia/Tehran")).toEpochSecond()产生 1624029703。 -
@JonnyHenly 我也是这么想的。但是(1)
long也算作一种整数(OP 只要求整数,而不是int)。 (2) 直到 2038 年,即接下来的 15 年以上,32 位int就足够了。当然,我们不应该满足于此,我们应该让我们的代码面向未来。
标签: java android android-studio datetime