Dhi*_*mal 1 java java.util.date
我在网上搜索了一些关于 BigInt 数据转换为日期的内容,虽然我发现了很多相同的问题,但似乎没有一个有效。我的数据库中有 13 位数据1435555326831,我认为这是 UNIXTIME,现在我想将其转换为yyyy-MM-dd HH:mm:ss形式。谢谢
您可以先将号码转换为 a long(如果您收到 a BigInteger,则可以拨打BigInteger.longValue())。
那么你有两个选择。使用标准,java.util.Date您可以使用:
long millis = 1435555326831L;
Date d = new Date(millis);
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用 SimpleDateFormat 格式化日期以进行输出。
如果您可以使用 Java 8 的新 Time API,您可以创建一个即时并将其转换为所需的时区(在我下面的示例中您的计算机时区):
Instant instant = Instant.ofEpochMilli(millis);
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.out.println(fmt.format(instant.atZone(ZoneId.systemDefault())));
Run Code Online (Sandbox Code Playgroud)
请注意,这些转换仅在BigInteger小于最大long大小时才有效,一般情况下无效。这应该不是问题,因为long 的最大值是2^63 - 1,但是如果您BigInteger是用户输入,则需要检查这一点。
| 归档时间: |
|
| 查看次数: |
8737 次 |
| 最近记录: |