当前位置: 首页 > 面试题库 >

Java字符串到日期时间

南宫海超
2023-03-14
问题内容

我有一个来自json响应的字符串:

start: "2013-09-18T20:40:00+0000",
end: "2013-09-18T21:39:00+0000",

如何将此字符串转换为Java DateTime对象?

我尝试使用以下内容:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
start = sdf.parse("2013-09-18T20:40:00+0000");

但与此我只能创建一个日期对象。但是绑定在字符串中的时间还是很重要的。

任何帮助是极大的赞赏!


问题答案:

您可以从Java
Date对象创建Joda
DateTime对象,因为Java没有类。DateTime

DateTime dt = new DateTime(start.getTime());

尽管DateJava类也保存时间信息(这是您首先需要的信息),但我还是建议您使用a Calendar代替DateJava类。

Calendar myCal = new GregorianCalendar();
myCal.setTime(date);

请查看日历文档,以获取有关如何更有效地使用日历的更多信息。

事情发生了变化,现在甚至Java(准确地说是Java
8)都具有LocalDateTime和ZonedDateTime类。对于转换,您可以查看此SO答案(从那里发布摘录)。

鉴于: Date date = [some date]

(1)LocalDateTime << Instant <<日期

Instant instant = Instant.ofEpochMilli(date.getTime());
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneOffset.UTC);

(2)日期 <<即时<< LocalDateTime

Instant instant = ldt.toInstant(ZoneOffset.UTC);
Date date = Date.from(instant);


 类似资料:
  • 这就是问题所在: 我有一些带有旅行信息的. csv文件,日期显示为字符串(每一行代表一次旅行): “1-5月和10-12月的所有星期一。6-9月的所有日子” 我必须将字符串解析为日期,并为每次旅行将其保存到一个数组中。 问题是我不知道怎么做。甚至我的大学老师也告诉我,他们不知道如何做到这一点:S。我无法使用http://docs.oracle.com/javase/6/docs/api/java/

  • 我有一个格式化的字符串日期 2020/04/16 (年/月/日) 我想把这个字符串解析成日期时间 显然不起作用,没有正确的日期格式。 有人知道把这个字符串解析成日期时间的最好方法是什么吗?

  • 我有一个本地日期时间的字符串表示和一个Java时区。 我正在尝试以 MM/dd/yyyy HH:mm:ssZ 格式获取输出,但我无法弄清楚如何使用正确的日期时间和时区创建日历或 JodaTime 对象。如何将时区转换为可以通过简单日期格式“Z”或“z”解析的值? 和 返回 这是 。 是创建日历或Joda日期时间并通过解析字符串“08/14/2014 15:00:00”来设置各个年/月/日/小时/分

  • 问题内容: 如何在python中将字符串转换为日期对象? 该字符串是:(对应于格式:) 我不想要datetime.datetime对象,而是想要datetime.date。 问题答案: 您可以在Python包中使用:

  • 我正在将日期/日期时间字符串转换为,我有一种日期时间格式,它可能有以下值之一: 有时有时间和没有时间,我需要将其转换为。 我已经尝试了下面的代码 因为没有时间,我将它设置为默认值,但是当我试图解析时 它抛出的错误类似于 线程"main"java.time.format.DateTimeParseException中的异常:无法解析文本'2016-06-06':无法从TemporalAccess:{

  • 我有以下代码段来更改日期格式 用相同的日期格式将字符串再次转换回日期的最佳方法是什么