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

LocalDateTime解析为纪元秒[重复]

郑锋
2023-03-14

我试图解析一个字符串,下面的表单2010-10-12-18-43-55到当前时区自纪元以来的秒。这是我试过的

DateTimeFormatter dateTimeFormatter = 
          DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss");

我。

String datatetime = "2010-10-12-18-43-55";
Instant.parse(datetime).toEpochMilli; 
//Throws 
//java.time.format.DateTimeParseException: 
//Text '2010-10-12-18-43-55' could not be parsed at index 10
String datatetime = "2010-10-12-18-43-55";
Instant.from(LocalDateTime.parse(datetime, dateTimeFormatter)).toEpochMilli
//Throws 
//java.time.DateTimeException: Unable to obtain Instant from 
//TemporalAccessor: 2010-10-12T18:43:55 of type 
//java.time.LocalDateTime type java.time.LocalDateTime
String datatetime = "2010-10-12-18-43-55";
Instant.from(dateTimeFormatter.parse(datetime, new ParsePosition(0))).toEpochMilli
//Throws 
//java.time.DateTimeException: Unable to obtain Instant from 
//TemporalAccessor: {},ISO resolved to 2010-10-12T18:43:55 
//of type java.time.format.Parsed

共有1个答案

荣德厚
2023-03-14
  1. 即时javadocs中,字符串必须采用2007-12-03t10:15:30.00z.
  2. 的格式
  3. 字符串无法解析为即时,因为缺少时区。尝试以下操作:zoneddatetimezoneddatetime=zonedDateTime.of(localDateTime,zoneid.systemdefault());
  4. 我不知道你想做什么。
 类似资料:
  • 问题内容: 我有DATETIME格式的mysql列。 在纪元秒内有没有办法访问此专栏?如果没有,将日期时间格式转换为纪元秒的最佳方法是什么?哪种类型的字段最能捕捉到这一点? 问题答案: 使用MySQL的功能

  • 问题内容: 我想以as 的形式解析时间戳。这样做时,如果秒是秒,它将去除秒。 如此处所述,我需要使用自定义格式化程序 这个可以用,但是返回一个: 当我解析字符串时,它再次剥离: 那么如何将日期解析为,而不是,并将日期保留在末尾? 问题答案: 您应该期望输出之间的差异 和 打印的值,预计不会产生与图案相同的输出。 当您查看时,您会看到它将时间部分委托给,这将有条件地显示秒: 如果其值为,则仅忽略秒字

  • 当我将字符串解析为时,它将再次剥离: 那么,如何将日期解析为,而不是,并在末尾保留呢?

  • 问题内容: 如何从或的实例提取纪元值?我已经尝试了以下方法,但是它给了我其他结果: 我想要的只是本地datetime 的值。我的时区是夏令时的UTC + 1。 问题答案: 这些类和不包含有关 时区 或 time offset的信息 ,并且自epoch以来的秒数如果没有这些信息将是模棱两可的。但是,对象有几种方法可以通过传递实例将其转换为具有时区的日期/时间对象。 本地日期 LocalDateTim

  • 我可以像这样将19位unix时间戳转换为LocalDateTime

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