#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. 微信小程序商城构建全栈应用 Thinkphp5

    课程——微信小程序商城构建全栈应用[目录]第1章 前言:不同的时代,不同的Web第2章 环境,工具与准备工作第3章 模块,路由与获取请求参数第4章 构建验证层第5章 REST与RESTFul第6章 A ...

  2. 控制执行流程之return

    1 .无条件分支的关键词:return, break,continue,它们在程序中表示这个分支无需任何测试也可以发生.今天我们说下return. 2. return 作用:(1)给当前方法返回值:( ...

  3. Kubernetes学习之应用部署变迁

    从物理单机.虚拟化(容器化)到云原生 历史 云原生 ---初期 总结

  4. [C++]invalid initialization of non-const reference of type 'std::__cxx11::string& {aka std::__cxx11::basi

    解决方法:在参数前面加一个cosnt或者把引用符号去掉

  5. .NET生成漂亮桌面背景

    .NET生成漂亮桌面背景 一天,我朋友指着某某付费软件对我说,这个东西不错,每天生成一张桌面背景,还能学英语(放置名人名言和翻译)!我说,这东西搞不好我也能做,然后朋友说,"如果你搞出来了, ...

  6. [apue] 使用文件记录锁无法实现父子进程交互执行同步

    父子进程间交互执行是指用一种同步原语,实现父进程和子进程在某一时刻只有一个进程执行,之后由另外一个进程执行,用一段代码举例如下: SYNC_INIT(); , counter=; pid_t pid ...

  7. Spring 梳理-运行时动态注入bean

    动态注入的方法 使用占位符 使用Spring表达式

  8. 基于SpringBoot + Mybatis实现 MVC 项目

    1.预览: (1)完整项目结构 (2) 创建数据库.数据表: [user.sql] SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- ...

  9. Android组件化路由实践

    Android应用组件化各个组件页面之间要实现跳转使用路由是一个很好的选择.本文将实现一个比较轻量级的路由组件,主要涉及以下知识: Annotation (声明路由目标信息) AnnotationPr ...

  10. 从 axios 源码中了解到的 Promise 链与请求的取消

    axios 中一个请求取消的示例: axios 取消请求的示例代码 import React, { useState, useEffect } from "react"; impo ...