我收到了像/Date(1521866513877+0530)/
这样的JSON格式的日期响应,我希望格式为24/03/2018 10:11:53
。
答案 0 :(得分:0)
如果没有本地解析方法,请尝试以下regex
模式:
\/Date\((\d+)\+(\d+)\)\/
我不是一个java家伙,但正则表达式无处不在。我看起来日期是毫秒,因此您需要划分1521866513877 / 1000
以获取时间戳。这是PHP中的一个示例:
preg_match_all('/\/Date\((\d+)\+(\d+)\)\//i', '/Date(1521866513877+0530)/', $matches);
if ($matches[0]) {
$timestamp = $matches[1][0];
$offset = $matches[2][0];
echo date('m/d/Y H:i:s', (int)$timestamp / 1000);
}
答案 1 :(得分:0)
Gson类可以帮助您序列化这样的格式。默认情况下,它使用SimpleDateFormat对象进行序列化。使用GsonBuilder获取一个新的Gson对象来序列化日期格式,如 24/03/2018 10:11:53 :
Gson gson = new GsonBuilder()
.setDateFormat("dd/MM/yyyy HH:mm:ss")
.create();
答案 2 :(得分:0)
使用正则表达式从字符串中提取单个部分。 13位数是自纪元以来的毫秒数。将其解析为long并将其转换为storage
.bucket(bucketName)
.file(filename)
.acl.readers.addUser(user1)
.then(() => {
console.log(`Added user ${user1} as an owner on file ${filename}.`);
})
.catch(err => {
console.error('ERROR:', err);
});
(来自Instant
的类,即现代Java日期和时间API)。将java.time
解析为+0530
;这是UTC或GMT之前5小时30分钟的偏移量。将ZoneOffset
和Instant
合并为ZoneOffset
。使用OffsetDateTime
对其进行格式化。就是这样。
如果有些部分仍然不知道该怎么做,请使用您的搜索引擎。所有这些都在互联网上的几个地方解释。如果在阅读完教程和API文档并尽力而为之后仍然遇到问题,请在Stack Overflow上提出更具体的问题。请记住包括您的研究报告和最佳尝试以及失败的方法。我们将能够从那里更好地帮助你。