time_t和SYSTEMTIME之间的相互转换

#include <ctime>

/*

**time_t转SYSTEMTIME

*/

SYSTEMTIME TimetToSystemTime(time_t t)

{

FILETIME ft;

SYSTEMTIME pst;

LONGLONG nLL = Int32x32To64(t, 10000000) + 116444736000000000;

ft.dwLowDateTime = (DWORD)nLL;

ft.dwHighDateTime = (DWORD)(nLL >> 32);

FileTimeToSystemTime(&ft, &pst);

return pst;

}

/*

**SYSTEMTIME转time_t

*/

time_t SystemTimeToTimet(SYSTEMTIME st)

{

FILETIME ft;

SystemTimeToFileTime( &st, &ft );

LONGLONG nLL;

ULARGE_INTEGER ui;

ui.LowPart = ft.dwLowDateTime;

ui.HighPart = ft.dwHighDateTime;

nLL = (ft.dwHighDateTime << 32) + ft.dwLowDateTime;

time_t pt = (long)((LONGLONG)(ui.QuadPart - 116444736000000000) / 10000000);

return pt;

}

/*

**time_t转SYSTEMTIME

*/

SYSTEMTIME Time_tToSystemTime(time_t t)

{

tm temptm = *localtime(&t);

SYSTEMTIME st = {1900 + temptm.tm_year,

1 + temptm.tm_mon,

temptm.tm_wday,

temptm.tm_mday,

temptm.tm_hour,

temptm.tm_min,

temptm.tm_sec,

0};

return st;

}

/*

**SYSTEMTIME转time_t

*/

time_t SystemTimeToTime_t( const SYSTEMTIME& st )

{

tm temptm = {st.wSecond,

st.wMinute,

st.wHour,

st.wDay,

st.wMonth - 1,

st.wYear - 1900,

st.wDayOfWeek,

0,

0};

return mktime(&temptm);

}

time_t和SYSTEMTIME之间的相互转换 【转】的更多相关文章

  1. C# Enum Name String Description之间的相互转换

    最近工作中经常用到Enum中Value.String.Description之间的相互转换,特此总结一下. 1.首先定义Enum对象 public enum Weekday { [Descriptio ...

  2. 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换

    [源码下载] 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换 作者:webabcd 介绍速战速决 之 PHP ...

  3. json和string 之间的相互转换

    json和string 之间的相互转换 <script type="text/javascript"> //先认识一下js中json function showInfo ...

  4. Android中常用单位dp,px,sp之间的相互转换

    MainActivity如下: package cc.testunitswitch; import android.os.Bundle; import android.util.DisplayMetr ...

  5. C#中String 与Color之间的相互转换

    C#中String 与Color之间的相互转换 ————————————宋兴柱     其实,我们平常如果要在数据库存放Color类型值的话,肯定会在数据库中建立varchar类型.对吧.但是Colo ...

  6. 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换 [转]

    本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下. #ifndef USE_H_ #define USE_H_ # ...

  7. 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换

    本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下-复制代码 代码如下:    #ifndef USE_H_     ...

  8. java中XMLGregorianCalendar类型和Date类型之间的相互转换

    import java.text.SimpleDateFormat;import java.util.Date;import java.util.GregorianCalendar;import ja ...

  9. Python网络编程——主机字节序和网络字节序之间的相互转换

    If you ever need to write a low-level network application, it may be necessary to handle the low-lev ...

随机推荐

  1. z-index失效的情况

    1.父标签 position属性为relative: 2.问题标签无position属性(不包括static): 3.问题标签含有浮动(float)属性. 4.问题标签的祖先标签的z-index值比较 ...

  2. 阿里云轻量应用服务器——配置MySQL远程连接(踩坑,LAMP+CentOS)

    说在前面 本文讲解清晰,从0开始 如不能用Navicat等数据库软件远程登陆,请先检查:安全>防火墙中 是否添加了MYSQL的3306端口(ECS服务器请检查 安全组)如未添加,先点右上角“添加 ...

  3. new、operator new、placement new

    首先我们区分下几个容易混淆的关键词: new.operator new.placement new new和delete操作符我们应该都用过,它们是对堆中的内存进行申请和释放,而这两个都是不能被重载的 ...

  4. hdu多校第三场

    Problem D. Euler Function 思路:打表找找规律. #include<bits/stdc++.h> #define LL long long #define fi f ...

  5. ASOP编译说明

    具体说明https://source.android.com/source/ 源码下载https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 1 搭建编译环境使 ...

  6. POJ 1182 食物链 【带权并查集/补集法】

    动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种.有人用两种说 ...

  7. Spring源码阅读入门指引

    本文大概的对IOC和AOP进行了解,入门先到这一点便已经有了大概的印象了,详细内容请看下文. AD: 本文说明2点: 1.阅读源码的入口在哪里? 2.入门前必备知识了解:IOC和AOP 一.我们从哪里 ...

  8. Xamarin iOS项目找不到模拟器

    Xamarin iOS项目找不到模拟器 在Visual Studio中,突然找不到模拟器,并且项目提示试用期过期:Trial period has expired.出现这种情况,是由于苹果系统中Xam ...

  9. JZYZOJ1371 青蛙的约会 扩展欧几里得 GTMD数论

    http://172.20.6.3/Problem_Show.asp?id=1371 题意是两个青蛙朝同一个方向跳 http://www.cnblogs.com/jackge/archive/2013 ...

  10. [Codeforces-div.1 24D] Broken robots

    [Codeforces-div.1 24D] Broken robots 试题分析 显然设\(f_{i,j}\)为到\((i,j)\)的期望步数,将转移表达式列出来. 首先自己跟自己的项消掉. 然后规 ...