FILETIME, SYSTEMTIME 与 time_t 相互转换
//************************************************************
//FILETIME, SYSTEMTIME 与 time_t 相互转换
//#####SYSTEMTIME 与 FILETIME相互转换#####
//可以使用系统函数
//FileTimeToSystemTime(&ftcreate,&stcreate);
//参数:
//(lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME)
//说明
//根据一个FILETIME结构的内容,装载一个SYSTEMTIME结构
//返回值
//Long,非零表示成功,零表示失败。会设置GetLastError
//参数表
//参数 类型及说明
//lpFileTime FILETIME,包含了文件时间的一个结构
//lpSystemTime SYSTEMTIME,用于装载系统时间信息的一个结构
//#####SYSTEMTIME 与 time_t相互转换#####
//#### Time_tToSystemTime ####
void TimetToSystemTime( time_t t, LPSYSTEMTIME pst )
{
FILETIME ft;
LONGLONG ll = Int32x32To64(t, 10000000) + 116444736000000000;
ft.dwLowDateTime = (DWORD) ll;
ft.dwHighDateTime = (DWORD)(ll >> 32);
FileTimeToSystemTime( &ft, pst );
}
//#### SystemTimeToTime_t ####
void SystemTimeToTime_t( SYSTEMTIME st, time_t *pt )
{
FILETIME ft;
SystemTimeToFileTime( &st, &ft );
LONGLONG ll;
ULARGE_INTEGER ui;
ui.LowPart = ft.dwLowDateTime;
ui.HighPart = ft.dwHighDateTime;
ll = (ft.dwHighDateTime << 32) + ft.dwLowDateTime;
*pt = (DWORD)((LONGLONG)(ui.QuadPart - 116444736000000000) / 10000000);
}
//#### FileTimeToTime_t ####
void FileTimeToTime_t( FILETIME ft, time_t *t )
{
LONGLONG ll;
ULARGE_INTEGER ui;
ui.LowPart = ft.dwLowDateTime;
ui.HighPart = ft.dwHighDateTime;
ll = ft.dwHighDateTime << 32 + ft.dwLowDateTime;
*t = ((LONGLONG)(ui.QuadPart - 116444736000000000) / 10000000);
}
//********************************************************************/
FILETIME, SYSTEMTIME 与 time_t 相互转换的更多相关文章
- SYSTEMTIME 与 time_t 之间的转换,计算2个SYSTEMTIME的时间差
time_t systemtime_to_time_t(const SYSTEMTIME& st) { struct tm gm = {st.wSecond, st.wMinute, st.w ...
- time_t和SYSTEMTIME之间的相互转换 【转】
time_t和SYSTEMTIME之间的相互转换 #include <ctime> /* **time_t转SYSTEMTIME */ SYSTEMTIME TimetToSystemTi ...
- win32sdk 编程整理的些资料
#win32sdk编程积累经验# ## ListView ## - 创建imagelist HIMAGELIST hi; HBITMAP hBmp = LoadBitmap(hInst,MAKEINT ...
- delphi 注册表操作(读取、添加、删除、修改)完全手册
DELPHI VS PASCAL(87) 32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操 ...
- Delphi的注册表操作
转帖:Delphi的注册表操作 2009-12-21 11:12:52 分类: Delphi的注册表操作 32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创 ...
- delphi获取文件的创建/修改时间、按时间删除指定文件下的文件
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrl ...
- VC++ 实现修改文件创建、访问、修改时间属性(转载)
转载:http://sunnysab.blog.163.com/blog/static/18037500920134221295425/ struct _FILETIME { //结构体定义 DWOR ...
- Windows获取时间函数(使用GetLocalTime,GetSystemTime,SystemTimeToTzSpecificLocalTime,GetFileTime API函数
获取本地时间 typedef struct _SYSTEMTIME { WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; ...
- Windows中的时间(SYSTEMTIME和FILETIME) (转载)
转载:http://blog.csdn.net/bokee/article/details/5330791 两种时间系统之间没有本质区别(事实上CRT时间是用Windows时间实现的,当然这是说的VC ...
随机推荐
- Docker+K8S实践
一.运维角度: (一)镜像: 1. 避免依赖过深.不要在基础镜像上加太多产生其他的镜像,我觉得这块最多是三四层. 一层是base景像再往上是工具.中间件这样的,再往上一层就是你自己的程序,再多就比较乱 ...
- 【linux】/dev/null与/dev/zero详解【转】
转自:http://www.cnblogs.com/xianghang123/archive/2012/03/23/2413381.html 使用/dev/null 把/dev/null 看作&quo ...
- 如何从List<T>中筛选符合条件的数据的集合或个数
方法一:Linq ChannelList就是一个List类型的数据,IsOpen 是其元素的属性 channelCount = (from channel in DevicesManager.Inst ...
- HibernateTools的使用
1. 到 Hibernate.org官网上 下载最新版的 Hibernate Tools,我用的是 HibernateTools-3.2.4.GA版 2. 将 下载下来的压缩包解压缩,里面会有 plu ...
- Java C++ Python PHP JS等各种语言中的INT最值
Java: Integer.MAX_VALUE; Integer.MIN_VALUE; C++ INT_MAX INT_MIN <limit.h> 有些其他头文件也有引用 Python & ...
- noi2015的回忆和教训
前几天偶然打开了bzoj的rank list,突然发现——我竟然掉出了第一版!!! 自从我5月还是6月刷进第一版之后,我曾经天真的以为大概半年之内我还能保留在第一版内吧. 结果仅仅短短的4个月,我就已 ...
- 4.0之后的hibernate获取sessionFactory
static{ Configuration config=new Configuration().configure(); ServiceRegistry resgistry = new Servic ...
- HDU 查找最大元素 2025
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; #defin ...
- 【英语】Bingo口语笔记(33) - 面部器官系列
to play by ear Play就是玩的意思.可是,play by ear的意思并不是“玩耳朵”.这个词汇的来源和音乐有关系.它原来指的是那些会弹钢琴或某种乐器,但是却不会看五线谱的人.每当他们 ...
- 利用ICSharpCode.SharpZipLib.Zip进行文件压缩
官网http://www.icsharpcode.net/ 支持文件和字符压缩. 创建全新的压缩包 第一步,创建压缩包 using ICSharpCode.SharpZipLib.Zip; ZipOu ...