【问题标题】:get tomorrow date 1:00pm in UNIX timestrap在 UNIX 时间戳中获取明天的日期下午 1:00
【发布时间】:2019-06-10 11:26:12
【问题描述】:

找不到任何解决方案如何获取明天的日期 13:00。 例如:今天是 16.01.2019,我需要找出 unix 时间带是 17.01.2019 13:00。

试过这个:

LocalDateTime tomorrowWithTime = 
LocalDateTime.of(LocalDate.now().plusDays(1), 13:00);

手动设置 13:00,将其添加到明天的日期,然后转换为 unix 时间带,但没有运气:(

【问题讨论】:

  • 实际输出是多少?
  • 欢迎来到 Stack Overflow。 “但没有运气”到底是什么意思?您需要执行两项操作: 1)获取适当的 LocalDateTime(或 ZonedDateTime,我认为这可能更合适); 2) 将LocalDateTime(或ZonedDateTime)转换为Unix 时间戳。这些是非常独立的 - 如果您已经完成了第一部分,那么值得提出这个问题只是关于第二部分,理想情况下显示您已经尝试过什么以及发生了什么。
  • 无输出。不允许像这样添加时间并且代码不起作用。我尝试了不同的类型来编写时间,例如:13、00、00 或 13-00-00。不知道如何手动设置时间

标签: java


【解决方案1】:

你非常接近它。要获得LocalDateTime,它是

LocalDateTime tomorrowWithTime = LocalDateTime.of(LocalDate.now().plusDays(1), LocalTime.of(13, 0));

然后要将其转换为 unix 时间戳,请查看 this question。总之,您必须提供ZoneId:(要给出有效的答案,我将使用您的系统 zoneId):

ZoneId zoneId = ZoneId.systemDefault(); //Or the appropriate zone
long timestamp = tomorrowWithTime.atZone(zoneId).toEpochSecond();

顺便说一句,如果您的问题是您不知道将什么作为参数提供给 LocalDateTime.of(),那么您的第一反应应该是查看 the API 以查看它接受哪些参数。

【讨论】:

  • 非常感谢。这正是我所需要的。顺便说一句,“time.atZone(zoneId).toEpochSecond()”来自哪个库?我的 IntelliJ 不知道 :)
  • 对不起,应该是tomorrowWithTime.atZone()...,我编辑了。来自LocalDateTime
  • 谢谢 :) 代码现在可以使用 LocalDateTime tomorrowWithTime = LocalDateTime.of(LocalDate.now().plusDays(1), LocalTime.of(13, 0)); ZoneId zoneId = ZoneId.systemDefault(); long epochSec = tomorrowWithTime.atZone(zoneId).toEpochSecond();
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-30
  • 2013-06-20
  • 1970-01-01
  • 2012-10-19
  • 1970-01-01
  • 1970-01-01
  • 2015-07-23
相关资源
最近更新 更多