- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文将提供在 Java LocalDate
和 epoch 之间转换的示例。Epoch是用作特定历法时代起源的时间瞬间。Epoch是测量时间的参考点。 LocalDate
的历元参考点是 1970-01-01,格式为 YYYY-MM-DD。当我们将诸如 2019-11-15 这样的 LocalDate
转换为Epoch天数时,结果将是从 1970-01-01 到 2019-11-15 的天数。同理,当我们将 18215 等Epoch天数转换为 LocalDate
时,将通过将 18215 天数与 1970-01-01 相加得到结果 LocalDate
。
1. 使用 LocalDate.toEpochDay()
找到将 LocalDate
转换为Epoch日的代码片段。
long numberOfDays = localDate.toEpochDay();
2. 使用 LocalDate.ofEpochDay()
找到将Epoch天数转换为 LocalDate
的代码片段。
LocalDate localDate = LocalDate.ofEpochDay(numberOfDays);
现在详细找到在 Java LocalDate
和 epoch 之间转换的示例。
将 LocalDate
转换为Epoch天数是从 1970-01-01 到给定本地日期的天数计算。将 LocalDate
转换为Epoch秒或毫秒是从 1970-01-01T00:00:00Z 开始到给定本地日期的时间计算。
LocalDateToEpoch.java
package com.concretepage;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
public class LocalDateToEpoch {
public static void main(String[] args) {
//Epoch reference of date is 1970-01-01
LocalDate localDate = LocalDate.parse("2019-11-15");
//LocalDate to epoch days
long numberOfDays = localDate.toEpochDay();
System.out.println(numberOfDays);
//LocalDate to epoch seconds
long timeInSeconds = localDate.toEpochSecond(LocalTime.NOON, ZoneOffset.MIN);
System.out.println(timeInSeconds);
//LocalDate to epoch milliseconds
Instant instant = localDate.atStartOfDay(ZoneId.systemDefault()).toInstant();
long timeInMillis = instant.toEpochMilli();
System.out.println(timeInMillis);
instant = localDate.atTime(LocalTime.MIDNIGHT).atZone(ZoneId.systemDefault()).toInstant();
timeInMillis = instant.toEpochMilli();
System.out.println(timeInMillis);
}
}
输出
18215
1573884000
1573756200000
1573756200000
LocalDate
提供 toEpochDay()
方法将本地日期转换为Epoch日。找到 Java 文档。
long toEpochDay()
toEpochDay()
将此日期转换为Epoch日。 toEpochDay()
计算从 1970-01-01 到给定本地日期的天数。如果给定的本地日期是 1970-01-01,则Epoch天数将为 0。
LocalDate localDate = LocalDate.parse("2019-11-15");
long numberOfDays = localDate.toEpochDay();
在 Java 9 中,LocalDate
提供了 toEpochSecond()
方法来将本地日期转换为Epoch秒。找到 Java 文档。
long toEpochSecond(LocalTime time, ZoneOffset offset)
toEpochSecond()
将此 LocalDate
转换为自Epoch 1970-01-01T00:00:00Z 以来的秒数。 LocalDate
与给定的时间和区域偏移相结合,以计算从 1970-01-01T00:00:00Z 开始的秒数。
long timeInSeconds = localDate.toEpochSecond(LocalTime.NOON, ZoneOffset.MIN);
要将 LocalDate
转换为Epoch毫秒,我们可以使用 Instant.toEpochMilli()
将此时刻转换为Epoch 1970-01-01T00:00:00Z 的毫秒数。要获得Epoch毫秒,首先我们将 LocalDate
转换为 Instant
,然后使用其 toEpochMilli()
方法。
Instant instant = localDate.atStartOfDay(ZoneId.systemDefault()).toInstant();
long timeInMillis = instant.toEpochMilli();
instant = localDate.atTime(LocalTime.MIDNIGHT).atZone(ZoneId.systemDefault()).toInstant();
timeInMillis = instant.toEpochMilli();
通过将给定时间添加到 1970-01-01T00:00:00Z,将给定的Epoch天数、Epoch秒数或Epoch毫秒数转换为 LocalDate
。找到代码。
EpochToLocalDate.java
package com.concretepage;
import java.sql.Timestamp;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
public class EpochToLocalDate {
public static void main(String[] args) {
//Epoch reference of date is 1970-01-01
long numberOfDays = 18215;
LocalDate localDate = LocalDate.ofEpochDay(numberOfDays);
System.out.println(localDate);
//Using Instant
long timeInSeconds = 1567109422L;
localDate = LocalDate.ofInstant(Instant.ofEpochSecond(timeInSeconds), ZoneId.systemDefault());
System.out.println(localDate);
LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochSecond(timeInSeconds), ZoneId.systemDefault());
localDate = localDateTime.toLocalDate();
System.out.println(localDate);
long timeInMillis = 1567109422123L;
localDate = LocalDate.ofInstant(Instant.ofEpochMilli(timeInMillis), ZoneId.systemDefault());
System.out.println(localDate);
//Using Timestamp
localDate = new Timestamp(timeInMillis).toLocalDateTime().toLocalDate();
System.out.println(localDate);
}
}
输出
2019-11-15
2019-08-30
2019-08-30
2019-08-30
2019-08-30
LocalDate.ofEpochDay()
通过将天数添加到 1970-01-01 来获得 LocalDate
的实例。找到 Java 文档。
static LocalDate ofEpochDay(long epochDay)
找到代码片段。
LocalDate localDate = LocalDate.ofEpochDay(numberOfDays);
Java 9 LocalDate.ofInstant()
接受 Instant
和区域 id 并返回 LocalDate
对象。找到 Java 文档。
static LocalDate ofInstant(Instant instant, ZoneId zone)
Instant
提供了以下方法来处理 epoch。
1. 以下方法使用 1970-01-01T00:00:00Z Epoch的秒数获取 Instant
的实例。
static Instant ofEpochSecond(long epochSecond)
找到代码片段。
localDate = LocalDate.ofInstant(Instant.ofEpochSecond(timeInSeconds), ZoneId.systemDefault());
2. 以下方法使用 1970-01-01T00:00:00Z Epoch的毫秒数获取 Instant
的实例。
static Instant ofEpochMilli(long epochMilli)
找到代码片段。
localDate = LocalDate.ofInstant(Instant.ofEpochMilli(timeInMillis), ZoneId.systemDefault());
我们可以使用 LocalDateTime.toLocalDate()
方法将 LocalDateTime
转换为 LocalDate
。
LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochSecond(timeInSeconds), ZoneId.systemDefault());
localDate = localDateTime.toLocalDate();
找到 java.sql.Timestamp
构造函数。
public Timestamp(long time)
这将使用自 1970-01-01T00:00:00Z 以来的毫秒时间值构造一个 Timestamp
对象。
找到代码片段。
localDate = new Timestamp(timeInMillis).toLocalDateTime().toLocalDate();
这个问题已经有答案了: Find closest date in array with JavaScript (6 个回答) 已关闭 4 年前。 我有一个基本纪元时间值和一个纪元时间数组以及相应纪元时
这个单线用于保存keras深度学习神经网络模型。 model.save('my_model.h5') model.save()保存的是最后一个epoch的模型还是最好的epoch的模型?有时,最后一个
我在 keras 中有以下神经网络(可能没有必要对其进行审查来回答我的问题: 简短摘要:它是一个以图像作为输入并输出图像的神经网络。神经网络主要是卷积网络。我使用发电机。另外,我有两个回调:一个用于
我使用卷积神经网络 (CNN) 来训练数据集。这里我得到 epoch、val_loss、val_acc、总损失、训练时间等作为历史记录。如果我想计算准确率的平均值,那么如何访问 val_acc,以及如
我可能有一个“臃肿的图表”,请参阅( Why does tf.assign() slow the execution time? ),因为每个纪元都花费越来越多的时间,但我在代码中看不到它。你能帮助我
我正在尝试从网站 http://epochjs.github.io/epoch/real-time 运行一个基本示例我收到以下错误 jQuery.Deferred exception: $(...).
我正在尝试使用 SimpleDateFormat 进行简单的纪元到日期的转换。每当我运行该程序时,我都会在转换后收到无效日期。我已经在转换器中运行了纪元戳 [并且我还在外部服务器中存储了日期],所以我
我知道我不久前发布了这个,但我想出了解决方案。我为名为 Roblox 的游戏编写了此代码,但我只是在此处发布代码,以防其他遇到相同问题的人需要解决方案。无论如何,这是代码: outputTime =
为了在 JSON 中传递时间到/从 Web API,为什么我会选择使用 ISO8601 字符串而不是简单的 UTC 纪元值?例如,这两者是相同的: Epoch = 1511324473 iso8601
每次验证循环结束时,我都想保存一个检查点。我设置了val_check_interval成为 0.2所以我在每个时期有 5 个验证循环,但检查点回调仅在时期结束时保存模型。我找不到在每个验证循环后保存模
在 manual在 Tensorflow 中的 Dataset 类上,它展示了如何对数据进行混洗以及如何对其进行批处理。然而,如何对每个时期的数据进行洗牌并不明显。我已经尝试了下面的方法,但是数据在第
我正在尝试基于本文实现一个判别性损失函数,例如图像分割:https://arxiv.org/pdf/1708.02551.pdf (此链接仅供读者引用;我不希望有人阅读它来帮助我!) 我的问题:一旦我
我有一个基于 JSON 的源,我想使用 ADF 映射数据流进行转换。我有一个包含纪元时间戳值的字符串,我想将其转换为日期时间值,以便稍后将其放入 Parquet 文件中。 你知道方法吗?这种语言的文档
我有一个基于 JSON 的源,我想使用 ADF 映射数据流进行转换。我有一个包含纪元时间戳值的字符串,我想将其转换为日期时间值,以便稍后将其放入 Parquet 文件中。 你知道方法吗?这种语言的文档
我有一个以下格式的字符串:“2019-08-17T09:51:41.775+00:00”。我需要将其转换为纪元微秒,但我的转换总是相差一个小时。 这是我目前的代码: String timestamp
在 Python 中的 Tensorflow 2.0 中训练神经网络时,我注意到训练精度和损失在不同时期之间发生了巨大变化。我知道打印的指标是整个 epoch 的平均值,但在每个 epoch 之后准确
假设我有一个定义的神经网络的训练样本(带有相应的训练标签)(神经网络的架构对于回答这个问题无关紧要)。让我们称神经网络为“模型”。 为了不产生任何误解,假设我介绍了“模型”的初始权重和偏差。 实验 1
我正在尝试将以下列转换为纪元,为机器学习做准备,我的 csv 的其余部分包含字符串,所以我假设这是最好的方法,我尝试创建一个 numpy 数组并使用 datetime 对其进行转换,等等但这不起作用我
我正在编写一个 Node API 并得到一个模型,我必须为其生成一个15 位随机数。这必须是唯一的,并且不应看起来微不足道(我无法获得自动增量)。 我真的不想生成数字并查询 Mongo 数据库以进行存
features = [tf.contrib.layers.real_valued_column("x", dimension=1)] estimator = tf.contrib.learn.Lin
我是一名优秀的程序员,十分优秀!