转换GMT秒数为日期时间格式-Delphi源码
转换GMT秒数为日期时间格式-Delphi源码。收藏
最近在写PE分析工具的时候,需要转换TimeDateStamp字段值为日期时间格式,这是Delphi的源码。
//把GMT时间的秒数转换成日期时间格式
function GetGMTDateTime(Value:Int64):TDateTime;
var
Year,Month,Day:Word;
Hour,Min,Sec,MSec:Word;
iYear,iDay:Word;
iHour,iMin,iSec:Word;
RInt,i:Integer;
TempDate,TempTime:TDateTime;
begin
//GMT是从1970年1月1日开始计算的,所以把它作为初值
Year:=1970; Month:=1; Day:=1;
Hour:=0; Min:=0; Sec:=0; MSec:=0;
//计算文件创建的年份
iYear:=Value div (365*24*60*60);
Year:=Year+iYear;
//计算文件除创建整年份以外还有多少天
iDay:=(Value mod (365*24*60*60)) div (24*60*60);
//把闰年的年份数计算出来
RInt:=0;
for i:=1970 to Year-1 do
begin
if (i mod 4)=0 then
RInt:=RInt+1;
end;
//计算文件创建的时间(几时)
iHour:=((Value mod (365*24*60*60)) mod (24*60*60)) div (60*60);
Hour:=Hour+iHour;
//计算文件创建的时间(几分)
iMin:=(((Value mod (365*24*60*60)) mod (24*60*60)) mod (60*60)) div 60;
Min:=Min+iMin;
//计算文件创建的时间(几秒)
iSec:=(((Value mod (365*24*60*60)) mod (24*60*60)) mod (60*60)) mod 60;
Sec:=Sec+iSec;
//合并日期和时间
TempDate:=EncodeDate(Year,Month,Day);
TempTime:=EncodeTime(Hour,Min,Sec,MSec);
//由于闰年的二月份有29天,闰年年份一年有366年天,而平年一年有365天,上面
//是用365计算的,所以要减去闰年年份多出来的一天
//最后返回值合并日期和时间到TDateTime类型中
Result:=(TempDate+iDay-RInt)+TempTime;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Temp:TDateTime;
begin
//708992537为秒数
Temp:=GetGMTDateTime(708992537);
//取出日期
Edit1.Text:=DateToStr(Temp);
//取出时间
Edit2.Text:=TimeToStr(Temp);
end;
转换GMT秒数为日期时间格式-Delphi源码的更多相关文章
- C# 秒数转日期_由秒数得到日期几天几小时_当前日期时间,转换为秒
///<summary> ///由秒数得到日期几天几小时... ///</summary ///<param name="t">秒数</para ...
- SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- SQL Server日期时间格式转换字符串
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- SQL Server日期时间格式转换字符串详解
本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...
- Sql日期时间格式转换;取年 月 日,函数:DateName()、DATEPART()
一.sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007 ...
- sql 日期时间格式转换
Sql日期时间格式转换 sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, ...
- [php基础]Mysql日期函数:日期时间格式转换函数详解
在PHP网站开发中,Mysql数据库设计中日期时间字段必不可少,由于Mysql日期函数输出的日期格式与PHP日期函数之间的日期格式兼容性不够,这就需要根据网站实际情况使用Mysql或PHP日期转换函数 ...
- 一起Polyfill系列:让Date识别ISO 8601日期时间格式
一.什么是ISO 8601日期时间格式 ISO 8601是国际标准化组织制定的日期时间表示规范,全称是<数据存储和交换形式·信息交换·日期和时间的表示方法>. 示例: 1. 2014-12 ...
- db2 日期时间格式
db2日期和时间常用汇总 1.db2可以通过SYSIBM.SYSDUMMY1.SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值. SELECT 'HELLO DB2 ...
随机推荐
- 使用Boolean类型同步锁引起异常的分析
原文地址 http://topic.csdn.net/u/20080710/19/f61cb4db-ddff-4457-a26a-4ea578b0cc6c.html?87447500 http://w ...
- 关于Vuex可直接修改state问题
下面的代码证明不通过mutation,而直接修改state修改确实生效了.这样子多人协作岂不是很容易出问题.对于这个问题,在创建 store 的时候传入 strict: true, 开启严格模式,那么 ...
- C#中的Lambda总结
Lambda的前世今生 早在C# 1.0 时,C#中就引入了委托(delegate)类型的概念.通过使用这个类型,我们可以将函数作为参数进行传递.在某种意义上,委托可理解为一种托管的强类型的函数指针. ...
- Java类、实例的初始化顺序
今晚是阿里巴巴 2013 校园招聘的杭州站笔试.下午匆忙看了两张历年试卷,去现场打了瓶酱油. 题目总体考察点偏基础,倒数第二题(Java 附加题)比较有趣,考察了 Java 初始化机制的细节,在此摘录 ...
- SQL Server 统计某个月周末的天数
---注意:这里统计的周末包括周5,周6,但不包括周日ALTER FUNCTION [dbo].[GetWeekDaysByMonth] ( @Year INT, @Month INT, @Day I ...
- numpy 辨异(二) —— np.identity()/np.eye()
import numpy as np; 两者在创建单位矩阵上,并无区别,两者的区别主要在接口上: np.identity(n, dtype=None):只能获取方阵,也即标准意义的单位阵: np.ey ...
- 微信小程序 获取用户信息 encryptData解密 C#版本
最近学习小程序开发,需要对encryptData解密,获取用户信息,官方源码没有C#版本,网上的资料比较杂,有的使用还有问题,下面贴一下自己亲试可以使用的一个源码 1.code 换取 session_ ...
- Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)
原文:Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定) ------------------------------ ...
- WPF 3D编程介绍
原文:WPF 3D编程介绍 上一篇文章简单的介绍了WPF编程的相关的内容,也推荐了本书.今天要来讲一下在WPF如何开展3D编程. 使用的xmal 和C#开发的时候:需要使用如下的关键要素: 1:摄像机 ...
- Spring Assert.notNull--IllegalArgumentException
Exception in thread "main" java.lang.IllegalArgumentException: Source must not be null at ...