我需要将2000-11-10T00:00:00 02:00格式的字符串转换为LocalDateTime对象。但当我将这个字符串解析为LocalDateTime时,它会给出错误。
我应该使用哪种模式将字符串解析为LocalDateTime对象?
您可以使用Java8代码中的DateTimeFormat
:
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss+SS:'ZZ'", Locale.ENGLISH);
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyy", Locale.ENGLISH);
LocalDate date = LocalDate.parse("2000-11-10T00:00:00+02:00", inputFormatter);
String formattedDate = outputFormatter.format(date);
System.out.println(formattedDate);
您的字符串包含时区,LocalDateTime
不包含此信息。您需要使用OffsetDateTime类或ZonedDateTime类。有关掩码的信息在Javadoc for DateTimeFormatter类中提供
我需要将2000-11-10T00:00:00 02:00格式的字符串转换为LocalDateTime对象。但当我将这个字符串解析为LocalDateTime时,它会给出错误。 我应该使用哪种模式将字符串解析为LocalDateTime对象?
问题内容: 我尝试通过以下方式转换此日期: 但是我得到了: 问题答案: “ -0500”是UTC的偏移量,采用RFC822格式。您只想要,没有。 下表列出了Android 文档 : 符号:Z 含义:时区(RFC 822) 种类:(时区) 范例::-0800 :GMT-08:00 :-08:00 当然,我也将亲自指定语言环境:这是一种机器可读格式,而不是面向人类的格式,因此我通常会指定:
问题内容: 字段定义 二传手 有谁知道如何将“零日期”转换为适当的值?因为我有错误: 即使我像这样设置“默认”字段和设置器: 我仍然会有同样的问题。 问题答案: 在这里,我将大胆猜测您正在使用MySQL :-)它使用“零日期”作为特殊占位符 -不幸的是,JDBC默认情况下无法处理它们。 解决方案是将“ zeroDateTimeBehavior = convertToNull”指定为MySQL连接的
问题内容: 字段定义 二传手 有谁知道如何将“零日期”转换为适当的值?因为我有错误: 即使我像这样设置“默认”字段和设置器: 我仍然会有同样的问题。 问题答案: 在这里,我将做出一个疯狂的猜测,即您正在使用MySQL :-)它使用“零日期”作为特殊的占位符 -不幸的是,默认情况下JDBC无法处理它们。 解决方案是将“ zeroDateTimeBehavior = convertToNull”指定为
我想在MySQL中允许零日期。我已将更改为。 我已经在中更改了它。 然而,当我尝试插入数据时,我得到了错误, 数据截断:不正确的datetime值:“0000-00-00 00:00:00” MySQL版本为5.7.18。 这方面的任何想法都将大有帮助。
问题内容: 我有一个包含日期的数据库表 我正在使用MySQL。有时从程序中将没有日期的数据传递到数据库。因此, 当使用带错误的日期列调用表数据时,日期值会自动分配给它 在插入数据时,我尝试将null值传递给日期,但是将其分配给当前时间。 有什么办法可以在不更改表结构的情况下获得? 问题答案: 您可以在数据源配置中直接使用此JDBC URL: jdbc:mysql://您的服务器:3306 /您的数