zoukankan      html  css  js  c++  java
  • DELPHI解析JSON格式化的日期

    DELPHI解析JSON格式化的日期

    json返回的日期是 /Date(1560355200000)/ 这样的格式。

    这个1560355200000,是指1970年以后的秒数。

    DELPHI如何解析这种日期格式?

    网上找到的多是JAVASCRIPT的代码,没关系,DELPHI可以执行JAVASCRIPT函数。

    uses comobj;
    
    var js: string=
    'function jsondate(jsonDate) {'+
        'try {'+
            'var date = new Date(parseInt(jsonDate.replace("/Date(", "").replace(")/", ""), 10));'+
            'var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;'+
            'var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();'+
            'var hours = date.getHours();'+
            'var minutes = date.getMinutes();'+
            'var seconds = date.getSeconds();'+
            'var milliseconds = date.getMilliseconds();'+
            'return date.getFullYear() + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds + "." + milliseconds;'+
        '} catch (ex) {'+
            'return "";'+
        '}'+
    '}';
    
    function RunJs(const JsCode, JsVar: string): string;
    var
      script: OleVariant;
    begin
      try
        script := CreateOleObject('ScriptControl');
        script.Language := 'JavaScript';
        script.ExecuteStatement(JsCode);
        Result := script.Eval(JsVar);
      except
        Result := '';
      end;
    end;
    
    
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Caption := RunJs(js, Format('jsondate("%s")', ['/Date(1560355200000)/']));
    end;
    

      

  • 相关阅读:
    C# 调试
    C#添加资源的两种方式
    C# 光标文件的创建
    窗体初始位置
    C# 实现关闭按钮隐藏窗体而不退出
    mac ssd开启trim模式
    iOS打包上传app store各种问题解决总结
    adhoc无法下载应用程序 此时无法安装-解决
    debug1: expecting SSH2_MSG_KEX_ECDH_REPLY解决
    Could not load OpenSSL解决
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/11040398.html
Copyright © 2011-2022 走看看