Kotlin Firestore 时间戳添加时间
Kotlin Firestore Timestamp Add Time
有没有一种方法可以将时间添加到 Timestamp
格式化时间而无需多次转换?
val seconds: Long = Timestamp.now().seconds
val utcDT = LocalDateTime.ofEpochSecond(seconds, 0, ZoneOffset.UTC)
val withTwo: LocalDateTime = utcDT.plusHours(2)
val date: Date = Date.from(withTwo.toInstant(ZoneOffset.UTC))
val new = Timestamp(date)
Log.d("sirEgghead", "Timestamp: ${Timestamp.now().toDate()}")
Log.d("sirEgghead", "utcDT: $utcDT")
Log.d("sirEgghead", "addedTwo: $withTwo")
Log.d("sirEgghead", "date: ${date.time}")
Log.d("sirEgghead", "new: ${new.toDate()}")
这是我为了添加两个小时而经历的混乱,return 将其Timestamp
格式化为未来两个小时。
Timestamp: Wed May 18 21:53:12 EDT 2022
utcDT: 2022-05-19T01:53:12
addedTwo: 2022-05-19T03:53:12
date: 1652932392000
new: Wed May 18 23:53:12 EDT 2022
我不想使用本地系统时间以防设备上的时间不正确。数据存储在 Google Firestore 中。
不是创建一个 LocalDateTime
实例,而是创建一个 Instant
实例并使用它的 plus
方法增加 2
小时,该方法需要 TemporalUnits
补充。
val seconds: Long = Timestamp.now().seconds
val addedSeconds = Instant.ofEpochSecond(seconds).plus(2, ChronoUnit.HOURS).epochSecond
val newTimeStamp = Timestamp(addedSeconds, 0)
有没有一种方法可以将时间添加到 Timestamp
格式化时间而无需多次转换?
val seconds: Long = Timestamp.now().seconds
val utcDT = LocalDateTime.ofEpochSecond(seconds, 0, ZoneOffset.UTC)
val withTwo: LocalDateTime = utcDT.plusHours(2)
val date: Date = Date.from(withTwo.toInstant(ZoneOffset.UTC))
val new = Timestamp(date)
Log.d("sirEgghead", "Timestamp: ${Timestamp.now().toDate()}")
Log.d("sirEgghead", "utcDT: $utcDT")
Log.d("sirEgghead", "addedTwo: $withTwo")
Log.d("sirEgghead", "date: ${date.time}")
Log.d("sirEgghead", "new: ${new.toDate()}")
这是我为了添加两个小时而经历的混乱,return 将其Timestamp
格式化为未来两个小时。
Timestamp: Wed May 18 21:53:12 EDT 2022
utcDT: 2022-05-19T01:53:12
addedTwo: 2022-05-19T03:53:12
date: 1652932392000
new: Wed May 18 23:53:12 EDT 2022
我不想使用本地系统时间以防设备上的时间不正确。数据存储在 Google Firestore 中。
不是创建一个 LocalDateTime
实例,而是创建一个 Instant
实例并使用它的 plus
方法增加 2
小时,该方法需要 TemporalUnits
补充。
val seconds: Long = Timestamp.now().seconds
val addedSeconds = Instant.ofEpochSecond(seconds).plus(2, ChronoUnit.HOURS).epochSecond
val newTimeStamp = Timestamp(addedSeconds, 0)