delphi 获取适合微信使用的当前日期,以int64表示,是当前时间和1970-01-01 00:00:00之间的秒差  
官方Delphi 学习QQ群: 682628230(三千人)\n
频道

delphi 获取适合微信使用的当前日期,以int64表示,是当前时间和1970-01-01 00:00:00之间的秒差


unit uWxGlobal;

interface

///
/// 获取适合微信使用的当前日期,以int64表示,是当前时间和1970-01-01 00:00:00之间的秒差
/// 然后再减去3600*8转成UTC时间秒差即为微信时间
///
/// 当前时间,int64格式
function GetWxNow: Int64;
///
/// 获取适合微信使用的当前日期,以int64表示,是当前时间和1970-01-01 00:00:00之间的秒差
/// 然后再减去3600*8转成UTC时间秒差即为微信时间
///
/// 当前时间,int64字符串格式
function GetWxNowStr: string;

function ConvertWxDtToDateTime(wxDt: string): TDateTime;

implementation

uses
  System.SysUtils, System.DateUtils, System.Variants;

///
/// 微信的日期时间都是int64类型,是和1970-01-01 00:00:00之间的秒差,这个函数用来返回1970-01-01 00:00:00时刻
///
/// 1970-01-01 00:00:00
function GetWxBaseDt: TDateTime;
begin
  Result := VarToDateTime('1970-01-01 00:00:00');
end;

function GetWxNow: Int64;
begin
  Result := SecondsBetween(Now, GetWxBaseDt) - 3600 * 8;
end;

function GetWxNowStr: string; overload;
var
  i64: Int64;
begin
  i64 := GetWxNow;
  Result := IntToStr(i64);
end;

function ConvertWxDtToDateTime(wxDt: string): TDateTime;
var
  i64: Int64;
begin
  i64 := StrToInt64(wxDt);
  Result := IncSecond(GetWxBaseDt, i64 + 3600 * 8);
end;

end.

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.045885801315308 seconds