如何在 Kotlin 中检查 Date 实例初始化成功与否?
How to check Date instance init success or not in Kotlin?
我正在编写一个函数来检查整数 x
是否为 UNIX 时间戳格式。目前我认为解决方案是 检查程序是否可以从 x
或 初始化 Date 实例。但我找不到如何在 Kotlin 中检查它。请帮助我。
注:我使用的环境:
- SpringBoot 2.5
- 科特林 1.3.5
更新 1:
我想出了一种使用 try catch 的方法,但我猜我对“UNIX 时间戳”问题的处理方法是错误的。似乎每个整数都可以在下面的代码中创建一个新的日期。
val x: Long = 123456;
try {
val a = Date(x)
} catch (e : Exception) {
throw DataInvalidException("x must be UNIX timestamp")
}
Unix 时间戳就是自 1970 年 1 月 1 日以来的秒数 00:00:00Z。所以 any 数字是一个有效的 Unix 时间戳(包括 123456,如果我计算正确的话就是 1970-01-02 10:17:36Z)。
如果您想对您接受的and/or次日期范围施加任何限制,那当然可以;但您必须明白,您将排除真正的时间戳。
我正在编写一个函数来检查整数 x
是否为 UNIX 时间戳格式。目前我认为解决方案是 检查程序是否可以从 x
或 初始化 Date 实例。但我找不到如何在 Kotlin 中检查它。请帮助我。
注:我使用的环境:
- SpringBoot 2.5
- 科特林 1.3.5
更新 1: 我想出了一种使用 try catch 的方法,但我猜我对“UNIX 时间戳”问题的处理方法是错误的。似乎每个整数都可以在下面的代码中创建一个新的日期。
val x: Long = 123456;
try {
val a = Date(x)
} catch (e : Exception) {
throw DataInvalidException("x must be UNIX timestamp")
}
Unix 时间戳就是自 1970 年 1 月 1 日以来的秒数 00:00:00Z。所以 any 数字是一个有效的 Unix 时间戳(包括 123456,如果我计算正确的话就是 1970-01-02 10:17:36Z)。
如果您想对您接受的and/or次日期范围施加任何限制,那当然可以;但您必须明白,您将排除真正的时间戳。