当前位置: 首页 > 知识库问答 >
问题:

如何在Java8中从LocalDateTime获得毫秒

赏新知
2023-03-14
long currentMilliseconds = new Date().getTime();

long currentMilliseconds = System.currentTimeMillis();

共有1个答案

俞飞鸣
2023-03-14

我不完全确定你所说的“当前毫秒”是什么意思,但我假设它是自“纪元”以来的毫秒数,即世界协调时1970年1月1日午夜。

如果您想立即查找自该历元以来的毫秒数,那么使用System.CurrentTimeMillis()就像Anubian Noob所指出的那样。如果是这样,那么就没有理由使用任何新的java.time API来完成此操作。

但是,可能您已经有一个localdatetime或来自某个地方的类似对象,并且您希望将其转换为自纪元以来的毫秒。直接这样做是不可能的,因为localdatetime对象族不知道它们所在的时区。因此,需要提供时区信息来查找与以UTC为单位的历元相对的时间。

假设您有一个localdatetime,如下所示:

LocalDateTime ldt = LocalDateTime.of(2014, 5, 29, 18, 41, 16);

您需要应用时区信息,给出zoneddatetime。我和洛杉矶在同一个时区,所以我会这样做:

ZonedDateTime zdt = ldt.atZone(ZoneId.of("America/Los_Angeles"));

当然,这是对时区的假设。例如,如果本地时间恰好在夏令时(夏令时)过渡附近命名了一个时间,就会出现边缘情况。让我们把这些放在一边,但你应该意识到这些情况是存在的。

long millis = zdt.toInstant().toEpochMilli();
 类似资料:
  • 问题内容: 我想知道如果有一种方法,因为1970年1月1日(时期),以获得当前毫秒使用新的,或Java的8类。 已知的方法如下: 要么 问题答案: 我不能完全确定“当前毫秒”的含义,但我假设这是自“纪元”(即UTC 1970年1月1日午夜)以来的毫秒数。 如果你想找到,因为时代的毫秒数 眼下, 然后用作为nubian菜鸟指出。如果是这样,则没有理由使用任何新的java.time API来执行此操作

  • 我在使用Java8的java应用程序中工作。 我已经集成了数据库(多个数据库Oracle,MySQL,Postgres)和其中在DB i字符串创建的日期。 DB中的日期格式为-2015-07-29 16:23:28.143 我从DB获取这个,并在Localdatetime对象中设置 所以这里的问题是我不想在响应中显示/发送毫秒。我想显示/发送日期,如2015-07-29 16:23:28 我尝试了

  • 我需要你的帮助。假设我的JSP中有form:form,表单内部是form:input with date..,如下所示: 在控制器中,我有方法: PersonalTask看起来像: 问题是...如何从JSP传递日期时间并与@ModelAtcm(“个人任务”)个人任务任务绑定??

  • 执行的代码段: 如何获得的毫秒数?

  • 我用LocalDateTime.now()获得Java8中的LocalDateTime。但是有时这个now()函数以没有秒的格式返回时间给我。我以为是因为秒是零,但我需要秒。 PD:我有一个调度程序,它每30秒运行一次“LocalDateTime.Now()”。这是它在控制台中显示的内容。