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


本文整理自网络,侵删。

 
unit uWxGlobal;

interface

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

function ConvertWxDtToDateTime(wxDt: string): TDateTime;

implementation

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

/// <summary>
/// 微信的日期时间都是int64类型,是和1970-01-01 00:00:00之间的秒差,这个函数用来返回1970-01-01 00:00:00时刻
/// </summary>
/// <returns>1970-01-01 00:00:00</returns>
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.

相关阅读 >>

Delphi 通用程序自动更新升级

java2op.exe,Delphi安卓原生桥接文件生成器

Delphi如何在tmemo控件光标当前位置插入字符串

Delphi 进程隐藏的若干方法

Delphi 虚拟桌面服务程序

Delphi中accesss实现树形结构查询系统

Delphi android gps服务

Delphi 调用exitwindows 关闭系统

Delphi检查自身是否被调试

Delphi 系统服务状态获取管理员用户名

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    正在狠努力加载,请稍候...