如何使用 js-joda 将任何 ISO8601 字符串转换为 LocalTime?
How do you convert any ISO8601 string to LocalTime using js-joda?
我有一个完整的 ISO8601 字符串,如下所示:1989-08-16T00:00:00.000Z
。如何使用 js-joda
库从中创建 LocalDate
的实例?
当我试图用 LocalDate.parse()
直接解析它时,出现以下错误:
DateTimeParseException: Text '1989-08-16T00:00:00.000Z' could not be parsed,
unparsed text found at index 10…
我知道我可以很容易地在 T
字符处拆分字符串或用 vanilla Date
解析它,然后从中创建 LocalDate
,但是有没有更简单的方法,即我可以用来轻松地将 any ISO8601 兼容字符串解析为 LocalDate
?
首先将您的日期转换为 Js Date 对象,然后再转换为 LocalDate 对象。
Date.parse
将ISO字符串转为毫秒,再转为JS Date。最终使用JS Date对象获取LocalDate对象
var jsDate = new Date(Date.parse('1989-08-16T00:00:00.000Z')); //Iso Date string
var LocalDateObj = LocalDate.of(jsDate.getFullYear(), jsDate.getMonth() + 1, jsDate.getDate());
ISO 字符串“1989-08-16T00:00:00.000Z”表示 UTC 时间戳。
您可以使用相应的 js-joda 域 Instant
解析它,然后将其转换为 LocalDate
。例如
let utcTimestamp = Instant.parse('1989-08-16T00:00:00.000Z')
let date = LocalDate.ofInstant(utcTimestamp)
我有一个完整的 ISO8601 字符串,如下所示:1989-08-16T00:00:00.000Z
。如何使用 js-joda
库从中创建 LocalDate
的实例?
当我试图用 LocalDate.parse()
直接解析它时,出现以下错误:
DateTimeParseException: Text '1989-08-16T00:00:00.000Z' could not be parsed,
unparsed text found at index 10…
我知道我可以很容易地在 T
字符处拆分字符串或用 vanilla Date
解析它,然后从中创建 LocalDate
,但是有没有更简单的方法,即我可以用来轻松地将 any ISO8601 兼容字符串解析为 LocalDate
?
首先将您的日期转换为 Js Date 对象,然后再转换为 LocalDate 对象。
Date.parse
将ISO字符串转为毫秒,再转为JS Date。最终使用JS Date对象获取LocalDate对象
var jsDate = new Date(Date.parse('1989-08-16T00:00:00.000Z')); //Iso Date string
var LocalDateObj = LocalDate.of(jsDate.getFullYear(), jsDate.getMonth() + 1, jsDate.getDate());
ISO 字符串“1989-08-16T00:00:00.000Z”表示 UTC 时间戳。
您可以使用相应的 js-joda 域 Instant
解析它,然后将其转换为 LocalDate
。例如
let utcTimestamp = Instant.parse('1989-08-16T00:00:00.000Z')
let date = LocalDate.ofInstant(utcTimestamp)