日期 Formating:I 希望根据格式为 '0001-01-01-00.00.00.000000' 的时间戳获取以下日期格式 25/11/1990 14:35
Date Formating:I would like to obtain the following date format 25/11/1990 14:35 based on a Timestamp of format '0001-01-01-00.00.00.000000'
我想根据格式为“0001-01-01-00.00.00.000000”的时间戳获取以下日期格式 25/11/1990 14:35。
需要通过 Angular 6 或 Java 8 完成。
请提供任何相关解决方案。
我的方法:
Timestamp timestamp = Timestamp.valueOf("1990-11-25 01:02:03.123456789")//Value from Db.
String str = timestamp.tostring();
str.substring();
这有助于我向用户显示,但当我将其转换为字符串时,我无法将其存储在数据库中,因为数据库将仅存储时间戳格式。
java.time 和 JDBC 4.2
我强烈建议您使用 java.time,现代的 Java 日期和时间 API,而不是旧的 Timestamp
class。此示例代码段包括如何从数据库中检索时间戳并为用户格式化它:
DateTimeFormatter formatter = DateTimeFormatter
.ofLocalizedDateTime(FormatStyle.SHORT)
.withLocale(Locale.forLanguageTag("pt"));
PreparedStatement query = yourDatabaseConnection.prepareStatement(
"select your_timestamp_column from your_table where id = 4;");
ResultSet rs = query.executeQuery();
if (rs.next()) {
OffsetDateTime dateTime
= rs.getObject("your_timestamp_column", OffsetDateTime.class);
String str = dateTime.format(formatter);
System.out.println(str);
}
示例输出为
25/11/1990 14:35
请在我放置 pt
(葡萄牙语)的位置插入您的用户的语言标签。或者省略 withLocale
调用以依赖 JVM 的默认语言环境。并注意使用 getObject()
而不是 getTimestamp()
.
我在代码中使用了 OffsetDateTime
,假设您的数据库中的数据类型是 timestamp with time zone
,这是时间戳的推荐类型。在这种情况下,您可能还想在格式化之前将时间戳转换为用户的时区。
如果数据类型是 timestamp
且没有时区,则以完全相同的方式使用 LocalDateTime
。
Link: Oracle tutorial: Date Time 解释如何使用 java.time.
我想根据格式为“0001-01-01-00.00.00.000000”的时间戳获取以下日期格式 25/11/1990 14:35。
需要通过 Angular 6 或 Java 8 完成。
请提供任何相关解决方案。
我的方法:
Timestamp timestamp = Timestamp.valueOf("1990-11-25 01:02:03.123456789")//Value from Db.
String str = timestamp.tostring();
str.substring();
这有助于我向用户显示,但当我将其转换为字符串时,我无法将其存储在数据库中,因为数据库将仅存储时间戳格式。
java.time 和 JDBC 4.2
我强烈建议您使用 java.time,现代的 Java 日期和时间 API,而不是旧的 Timestamp
class。此示例代码段包括如何从数据库中检索时间戳并为用户格式化它:
DateTimeFormatter formatter = DateTimeFormatter
.ofLocalizedDateTime(FormatStyle.SHORT)
.withLocale(Locale.forLanguageTag("pt"));
PreparedStatement query = yourDatabaseConnection.prepareStatement(
"select your_timestamp_column from your_table where id = 4;");
ResultSet rs = query.executeQuery();
if (rs.next()) {
OffsetDateTime dateTime
= rs.getObject("your_timestamp_column", OffsetDateTime.class);
String str = dateTime.format(formatter);
System.out.println(str);
}
示例输出为
25/11/1990 14:35
请在我放置 pt
(葡萄牙语)的位置插入您的用户的语言标签。或者省略 withLocale
调用以依赖 JVM 的默认语言环境。并注意使用 getObject()
而不是 getTimestamp()
.
我在代码中使用了 OffsetDateTime
,假设您的数据库中的数据类型是 timestamp with time zone
,这是时间戳的推荐类型。在这种情况下,您可能还想在格式化之前将时间戳转换为用户的时区。
如果数据类型是 timestamp
且没有时区,则以完全相同的方式使用 LocalDateTime
。
Link: Oracle tutorial: Date Time 解释如何使用 java.time.