- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 UTC 时间戳字符串
val x = "2018-09-26T15:05:19.1121042Z"
我想要一个像这样的函数将其转换为 CST 时区的时间戳对象。
def StringToTimeStamp(str: String): Timestamp = {
val timeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
val timeZone = TimeZone.getTimeZone("America/Chicago")
timeFormat.setTimeZone(timeZone);
val now = timeFormat.format(str)
val ts = java.sql.Timestamp.valueOf(now)
ts
}
但是,我不知道SimpleDateFormat
我的字符串的格式,因为我无法输入像 T/Z 这样的字母,因为它们出现在我的字符串中 x
。我将如何实现这个目标?
最佳答案
输入字符串末尾的 Z
表示 UTC ,发音为“祖鲁”。
您的输入字符串符合标准 ISO 8601格式。 java.time 类在解析或生成字符串时默认使用这些标准格式。
即时
将您的字符串解析为 Instant
。 Instant 表示 UTC 中的一个时刻,分辨率为纳秒。
Instant instant = Instant.parse("2018-09-26T15:05:19.1121042Z") ;
您的 JDBC 驱动程序也许能够即时
。
myPreparedStatement.setObject( … , instant ) ;
偏移日期时间
如果没有,您的 JDBC 4.2 或更高版本的驱动程序需要接受 OffsetDateTime
.
OffsetDateTime odt = instant.atOffset( ZoneOffset.UTC ) ;
myPreparedStatement.setObject( … , odt ) ;
java.sql.Timestamp
如果您有较旧的JDBC driver之前JDBC 4.2 ,然后转而使用可怕的 java.sql.Timestamp
。但是只有在绝对必要的情况下才使用这些遗留的日期时间类,因为它们是一团糟。
您可以通过调用添加到旧类中的新转换方法来在现代类和遗留类之间进行转换。
java.sql.Timestamp ts = java.sql.Timestamp.from( instant ) ;
…还有…
Instant instant = ts.toInstant() ;
大概您询问的是java.sql.Timestamp
,因为您正在与数据库交换值。
您的time zone of Chicago与数据库工作无关,因为大多数数据库都以 UTC 形式存储时刻。
ZonedDateTime
但为了向用户展示,您可能需要从 UTC 调整为时区。
ZoneId z = ZoneId.of( "America/Chicago" ) ;
ZonedDateTime zdt = instant.atZone( z ) ;
生成本地化格式的字符串
DateTimeFormatter f = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.FULL ).withLocale( Locale.US ) ;
String output = zdt.format( f ) ;
关于java - 如何将时间戳字符串转换为另一个时区的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52521122/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!