Java 时间(20 月 29 日星期三 :56:47 +0000 2012) to epoch

标签 java time epoch

我有一个数据库,其中包含以下格式的时间戳:

Wed Feb 29 20:56:47 +0000 2012
Wed Feb 29 00:32:48 +0000 2012
Fri Apr 01 00:10:30 +0000 2011

我需要将 转换为 Epoch 时间以便轻松地进行计算。

我希望它们是自 1970 年以来的秒数(就像 System.currentTimeMillis()/1000 所做的那样)

Java 是否有一些方法可以解决这个问题,还是我必须解析和计算它?提前致谢。

最佳答案

好吧,你必须解析它,但这很容易用 SimpleDateFormat 来做:

SimpleDateFormat format = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy",
                                               Locale.US);

Date date = format.parse(text);
long secondsSinceEpoch = date.getTime() / 1000;

另一方面,如果您将数据库中的值存储在更合适的列类型中会更好。您真的将它们存储为文本吗?如果是,为什么?

关于Java 时间(20 月 29 日星期三 :56:47 +0000 2012) to epoch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9548055/

相关文章:

java - hazelcast 中的自动聚类

python - 如何在pygame中使用time.sleep?

c# - DateTime 转换为 Unix Epoch 添加 Phantom Hour

c - 当 seconds since epoch > LONG_MAX 时会发生什么?

java - 将 Apache Log 时间转换为 Epoch 时间

java - 如何在 lambda 函数中对收集 IntStream 的值进行操作

java - 排序比较计数器

java - 覆盖包中的 Java 属性

php - PHP 可以使用本地主机时区吗?

php - 在 MySQL (PHP) 中插入 CURDATE() 和 CURTIME()