#pragma pack(push,1)
/*
在这中间定义的结构体,已单字节对齐
*/
#pragma pack(pop)
/************************************************************************
函数功能: 将时间time_t转化为YYYY-MM-DD hh:mm:ss
输入参数: time_t tTime -- 给定时间的标准time_t格式
输出参数: string& strTime -- 字符串
返回值 :
说明 :
************************************************************************/
void time2string(time_t tTime, string& strTime)
{
struct tm tmTime;
localtime_s(&tmTime, &tTime); char cTime[] = {'\n'};
_snprintf_s(cTime, sizeof(cTime)-,
"%04d-%02d-%02d %02d:%02d:%02d",
tmTime.tm_year + ,
tmTime.tm_mon + ,
tmTime.tm_mday,
tmTime.tm_hour,
tmTime.tm_min, tmTime.tm_sec);
strTime = cTime;
}
/*
用于tcp传输时间结构体
*/
typedef struct tagTimePack
{
unsigned short nYear;
unsigned char nMonth;
unsigned char nDay;
unsigned char nSer;
unsigned char nHour;
unsigned char nMinute;
unsigned char nSecond; std::string toString()
{
char buff[] = {'\0'};
_snprintf_s(buff, sizeof(buff)-,
"%04d-%02d-%02d %02d:%02d:%02d",
nYear, nMonth, nDay, nHour, nMinute, nSecond);
std::string str(buff);
return str;
}
} TimePack, * LPTimePack;
/************************************************************************
函数功能: 将时间的time_t的表示,转换为自定义的TimePack格式
输入参数: time_t tTime -- 给定时间的标准time_t格式
输出参数: const TimePack& timePack -- 给定时间的自定义TimePack格式
返回值 :
说明 :
************************************************************************/
void DPC::time2pack(time_t tTime, TimePack& timePack)
{
struct tm tmTime;
localtime_s(&tmTime, &tTime);
timePack.nYear = tmTime.tm_year + ;
timePack.nMonth = tmTime.tm_mon + ;
timePack.nDay = tmTime.tm_mday;
timePack.nHour = tmTime.tm_hour;
timePack.nMinute = tmTime.tm_min;
timePack.nSecond = tmTime.tm_sec;
};
/************************************************************************
函数功能: 将时间的自定义的TimePack表示,转换为标准的time_t格式
输入参数: const TimePack& timePack -- 给定时间的自定义TimePack格式 输出参数: time_t& tTime -- 时间的标准time_t格式
返回值 :
说明 :
************************************************************************/
void DPC::pack2time(const TimePack& timePack, time_t& tTime)
{
tm mytm;
mytm.tm_year = timePack.nYear - ;
mytm.tm_mon = timePack.nMonth - ;
mytm.tm_mday = timePack.nDay;
mytm.tm_hour = timePack.nHour;
mytm.tm_min = timePack.nMinute;
mytm.tm_sec = timePack.nSecond; // 如果在循环再频繁被调用,可考虑使用 dcs_mktime
tTime = mktime(&mytm);
};
//*************************************************************************
// 函数名称: OleTimeToTimet
// 返 回 值: time_t
// 参 数: const COleDateTime & oleTime
// 函数说明: COleDatetime转time_t
//*************************************************************************
time_t OleTimeToTimet(const COleDateTime& oleTime)
{
if (COleDateTime::valid != oleTime.GetStatus()){
return ;
} SYSTEMTIME systime;
oleTime.GetAsSystemTime(systime);
struct tm atm; atm.tm_sec = systime.wSecond;
atm.tm_min = systime.wMinute;
atm.tm_hour = systime.wHour;
atm.tm_mday = systime.wDay;
atm.tm_mon = systime.wMonth - ;
atm.tm_year = systime.wYear - ;
atm.tm_isdst = -; return mktime(&atm);
}
/************************************************************************
函数功能: 将时间的time_t的表示,转换为string格式
输入参数: time_t tTime -- 给定时间的标准time_t格式
输出参数: string& strTime --
返回值 :
说明 : 格式:YYYYMMDDHHMMSSmmm
************************************************************************/
void DPC::get_local_time(string& strTime)
{
SYSTEMTIME st;
GetLocalTime(&st); char cTime[] = { '\0' };
_snprintf_s(cTime, sizeof(cTime) - ,
"%04d%02d%02d%02d%02d%02d%03d",
st.wYear,
st.wMonth,
st.wDay,
st.wHour,
st.wMinute,
st.wSecond,
st.wMilliseconds); strTime = cTime;
}

常用函数-Time的更多相关文章

  1. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

  2. 总结js常用函数和常用技巧(持续更新)

    学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...

  3. [转]SQL 常用函数及示例

    原文地址:http://www.cnblogs.com/canyangfeixue/archive/2013/07/21/3203588.html --SQL 基础-->常用函数 --===== ...

  4. PHP常用函数、数组方法

    常用函数:rand(); 生成随机数rand(0,50); 范围随机数时间:time(); 取当前时间戳date("Y-m-d H:i:s"); Y:年 m:月份 d:天 H:当前 ...

  5. Oracle常用函数

    前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...

  6. Thinkcmf:页面常用函数

    Thinkcmf:页面常用函数 全站seo: 文章列表: {$site_seo_title}        <!--SEO标题--> {$site_seo_keywords}   < ...

  7. matlab进阶:常用功能的实现,常用函数的说明

    常用功能的实现 获取当前脚本所在目录 current_script_dir = fileparts(mfilename('fullpath')); % 结尾不带'/' 常用函数的说明 bsxfun m ...

  8. iOS导航控制器常用函数与navigationBar常用属性

    导航控制器常用函数触发时机 当视图控制器的View将要出现时触发 - (void)viewWillAppear:(BOOL)animated 当视图控制器的View已经出现时触发 - (void)vi ...

  9. 《zw版·Halcon-delphi系列原创教程》 zw版-Halcon常用函数Top100中文速查手册

    <zw版·Halcon-delphi系列原创教程> zw版-Halcon常用函数Top100中文速查手册 Halcon函数库非常庞大,v11版有1900多个算子(函数). 这个Top版,对 ...

  10. phpcms V9 常用函数 及 代码整理

    常用函数 及 常用代码 总结如下 <?php //转换字符串或者数组的编码 str_charset($in_charset, $out_charset, $str_or_arr) //获取菜单 ...

随机推荐

  1. CabloyJS带你轻松走进NodeJS全栈开发-免费课程 作者亲授

    课程说明 B站直播 为回馈新老同学对开源框架CabloyJS的支持与厚爱,快速而轻松的开启NodeJS全栈开发之旅.2019年9月5日至9月11日在B站开启了一波免费直播培训课程 课程信息,请点击链接 ...

  2. Android 本地化适配:RTL(right-to-left) 适配清单

    本文首发自公众号:承香墨影(ID:cxmyDev),欢迎关注. 一. 序 越来越多的公司 App,都开始淘金海外,寻找更多的机会.然而海外市场千差万别,无论是市场还是用户的使用习惯,都有诸多的不同. ...

  3. php接受的post数据类型

    通常情况下用户使用浏览器网页表单向服务器post提交数据,我们使用PHP的$_POST接收用户POST到服务器的数据,并进行适当的处理.但有些情况下,如用户使用客户端软件向服务端php程序发送post ...

  4. BOM之本地数据存储

    JavaScript中本地存储数据常用的,且兼容性较好的有两种方式,cookie和Storage.另外还可以使用location.hash临时存储少量关键信息. 一    location.hash ...

  5. 新手学习Git之在本地使用Git

    每个开发人员应该都会一个版本管理工具,在Git和SVN中,我选择以Git,以下是我的一些心得 什么是 Git Git是目前世界上最先进的分布式版本控制系统(没有之一). 一.Git安装 1).linu ...

  6. WPF中资源的引用方法

    一.引用同一个程序中的资源 1.使用相对Uri来引用资源,如下所示 img.Source=new BitmapImage(new Uri(@"d"\iamges\Backgroun ...

  7. Autofac的AOP面向切面编程研究

    *:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...

  8. python学习笔记之zipfile模块

    为什么学习: 在做自动化测试平台的apk上传功能部分时候,涉及到apk上传后提取apk的icon图标,通过aapt解析apk,获取对应icon在apk中的地址,通过python的zipfile模块来解 ...

  9. 单例模式-全局可用的 context 对象,这一篇就够了

    单例模式在各个方面都有着极为广泛的使用,所谓单例,顾名思义就是整个程序中只有一个该类的实例,所以它成功保证了整个程序的生命周期内该类的对象只能创建一次,并且提供全局唯一访问该类的方法:getInsta ...

  10. java8 base64使用

    java 1.8中引入了Base64,不在需要引入第三方库就可以使用base64了. 在需要用到base64进行加密解密的时候就可以使用了 String text = "base64 in ...