gpt4 book ai didi

json - 如何使用 SuperObject 从 JSON 读取 DateTime?

转载 作者:行者123 更新时间:2023-12-01 19:03:09 25 4
gpt4 key购买 nike

我使用 SuperObject 库来处理 JSON。

我有这个 JSON(Mozilla FireFox、Chrome 书签文件的一部分):

   "roots": {
"bookmark_bar": {
"children": [ {
"date_added": "13009663942000000",
"id": "11",
"meta_info": "{\"sync\":{\"transaction_version\":\"3\"}}",
"name": "\u041D\u0430\u0447\u0430\u043B\u044C\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430",
"type": "url",
"url": "http://www.mozilla.com/ru/firefox/central/"
}, {

我尝试使用函数 JavaTimeToDelphiDateTime 并将数据作为整数,但它不起作用。

我需要将“date_added”字段读取为 TDateTime。如何使用 SuperObject 库做到这一点?

最佳答案

解决方案:

function JavaTimeToDateTime(javatime:Int64):TDateTime;
// java time -> Win32 file time -> UTC time
// adjust to active time zone -> TDateTime
var
UTCTime, LocalTime: TSystemTime;
begin
FileTimeToSystemTime(TFileTime(Int64(javatime + 11644473600000) * 10000), UTCTime);
SystemTimeToTzSpecificLocalTime(nil, UTCTime, LocalTime);
Result := SystemTimeToDateTime(LocalTime);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
//13009663942000000 is the value, read from "date_added" field as Int64.
ShowMessage(DateTimeToStr(JavaTimeToDateTime((13009663942000000 div 10000))));
end;

关于json - 如何使用 SuperObject 从 JSON 读取 DateTime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19489807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com