FILETIME, SYSTEMTIME 与 time_t 相互转换

2009-08-24 15:37:14|  分类: 默认分类|举报|字号 订阅

 
 

//************************************************************
//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 相互转换的更多相关文章

  1. SYSTEMTIME 与 time_t 之间的转换,计算2个SYSTEMTIME的时间差

    time_t systemtime_to_time_t(const SYSTEMTIME& st) { struct tm gm = {st.wSecond, st.wMinute, st.w ...

  2. time_t和SYSTEMTIME之间的相互转换 【转】

    time_t和SYSTEMTIME之间的相互转换 #include <ctime> /* **time_t转SYSTEMTIME */ SYSTEMTIME TimetToSystemTi ...

  3. win32sdk 编程整理的些资料

    #win32sdk编程积累经验# ## ListView ## - 创建imagelist HIMAGELIST hi; HBITMAP hBmp = LoadBitmap(hInst,MAKEINT ...

  4. delphi 注册表操作(读取、添加、删除、修改)完全手册

    DELPHI VS PASCAL(87)  32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操 ...

  5. Delphi的注册表操作

    转帖:Delphi的注册表操作 2009-12-21 11:12:52 分类: Delphi的注册表操作 32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息.     一.创 ...

  6. delphi获取文件的创建/修改时间、按时间删除指定文件下的文件

    uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrl ...

  7. VC++ 实现修改文件创建、访问、修改时间属性(转载)

    转载:http://sunnysab.blog.163.com/blog/static/18037500920134221295425/ struct _FILETIME { //结构体定义 DWOR ...

  8. Windows获取时间函数(使用GetLocalTime,GetSystemTime,SystemTimeToTzSpecificLocalTime,GetFileTime API函数

    获取本地时间 typedef struct _SYSTEMTIME { WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; ...

  9. Windows中的时间(SYSTEMTIME和FILETIME) (转载)

    转载:http://blog.csdn.net/bokee/article/details/5330791 两种时间系统之间没有本质区别(事实上CRT时间是用Windows时间实现的,当然这是说的VC ...

随机推荐

  1. Babel 6 配置

    Babel 6 较之前版本有些变化,几个比较重要的点. npm package babel 已经不在使用了,分成了下列几个 package babel-cli, 适用于命令行 babel-core, ...

  2. iphone/ipad实现自定义的开关UISwitch(continuous,clipsToBounds,userInteractionEnabled属性)

    这里主要讲几个UIView的几个属性,具体大家可以下载代码看看, 下载地址是: http://download.csdn.net/detail/rhljiayou/5960003 实现效果是: 代码中 ...

  3. OSX 升级 vim

    善用 Homebrew 神器啊,少年!Homebrew - The missing package manager for OS X安装完成后打开终端输入: brew install vim --wi ...

  4. Object窥探

    /* * Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETA ...

  5. Codeforces Round #215 (Div. 1) B

    出来冒个泡 由于数比较大  开了map计数  然后边走边删边加 勉强可过 #include <iostream> #include<cstdio> #include<cs ...

  6. HDU 2577 How to Type【DP】

    题意:给出一个字符串,有大写有小写,问最少的按键次数.然后打字的这个人有一个习惯,打完所有的字之后,指示灯要关闭. dp[i][j]表示打到第i个字母,j有0,1两个值表示指示灯开或者关的状态 然后就 ...

  7. Python GUI库

    PyQT不错的,只是要小心,这个东西是GPL的,如果你要写商业程序需要购买商业版授权.另外PyGTK.wxPython都是不错的GUI库.Python自带了一个基于TkInter的GUI库,如果你不想 ...

  8. 免费Gif图片录制工具

    /************************************************************************* * 免费Gif图片录制工具 * 说明: * 最近在 ...

  9. 【英语】Bingo口语笔记(15) - Give系列

  10. 【英文】Bingo口语笔记(18) - Cover系列

    cover charge 服务费 cover version 翻唱版本 cover the news 头条新闻