. 获取当前时间
time_t cur_time = time(NULL); . 把整数时间转为字符串时间
string GetStringTime(const time_t time)
{
struct tm *lptmNow;
char sTime[sizeof("2010-12-21 12:39:56")]; #ifdef _WIN32
lptmNow = localtime(&time);
#else
struct tm tmNow;
lptmNow = localtime_r(&time, &tmNow);
#endif // 获得对应时间的日期
char szBuf[];
snprintf(szBuf, sizeof(szBuf), "%04d年%02d月%02d日",
lptmNow->tm_year + ,
lptmNow->tm_mon + ,
lptmNow->tm_mday); int week = lptmNow->tm_wday; //获得星期几
int hour = lptmNow->tm_hour; //获得小时
int min = lptmNow->tm_min; //获得分钟
int sec = lptmNow->tm_sec; //获得秒 // 返回字符串时间
memset(sTime, , sizeof(sTime));
size_t length = strftime(sTime, sizeof(sTime), "%F %T", lptmNow);
return string(sTime, length);
} . 获得当前毫秒
unsigned long long GetCurMillSecond()
{
unsigned long long dwPreciseTime;
#ifdef _WIN32
struct _timeb tbNow;
_ftime(&tbNow);
dwPreciseTime = (unsigned long long)tbNow.millitm;
#else
struct timeval tvNow;
gettimeofday(&tvNow, NULL);
dwPreciseTime = (unsigned long long)(tvNow.tv_sec* + tvNow.tv_usec/);
#endif
return dwPreciseTime;
} . 随机数种子初始化
void InitRand()
{
int Second;
int USecond;
#ifdef _WIN32
struct _timeb tbNow;
_ftime(&tbNow);
Second = (int)tbNow.time;
USecond = tbNow.millitm;
#else
struct timeval tvNow;
gettimeofday(&tvNow, NULL);
Second = tvNow.tv_sec;
USecond = tvNow.tv_usec;
#endif srand(Second * USecond);
} . 线程睡眠,单位为微妙
void USleep(unsigned long USeconds)
{
#ifdef _WIN32
Sleep(USeconds / );
#else
struct timeval oDelay;
oDelay.tv_sec = (unsigned long)USeconds / ;
oDelay.tv_usec = (unsigned long)USeconds % ;
select(, , , , &oDelay);
#endif
} . 解析日期时间为整数时间
time_t ParseDateTime(const char* str)
{
struct tm tm = {}; #ifdef _XOPEN_SOURCE
const char* end = strptime(str, "%F %T", &tm);
if (end && end - str >= int(sizeof("2013-02-14 00:00:00") - ))
return mktime(&tm);
#else
if (sscanf(str,
"%u-%u-%u %u:%u:%u",
&tm.tm_year, &tm.tm_mon, &tm.tm_mday,
&tm.tm_hour, &tm.tm_min, &tm.tm_sec
) == )
{
tm.tm_year -= ;
tm.tm_mon -= ;
return mktime(&tm);
}
#endif return time_t(-);
}

C++时间操作的汇总的更多相关文章

  1. oracle 关于对时间操作的汇总

    -- 对时间的操作 对当前日期增加一个小时: SQL> select sysdate, sysdate+numtodsinterval(1,’hour’) from dual ; 对当前日期增加 ...

  2. Mysql——日期函数,时间操作(汇总)

    英文文档连接:https://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html 中文文档连接:https://www.docs4 ...

  3. JDK8日期时间操作小汇总

    统一使用java.time.*包下的类 1.获取当前的日期.时间.日期加时间 LocalDate todayDate = LocalDate.now(); //今天的日期 LocalTime now ...

  4. Java实现时间动态显示方法汇总

    这篇文章主要介绍了Java实现时间动态显示方法汇总,很实用的功能,需要的朋友可以参考下 本文所述实例可以实现Java在界面上动态的显示时间.具体实现方法汇总如下: 1.方法一 用TimerTask: ...

  5. Java Calendar 类的时间操作

    Java Calendar 类的时间操作 标签: javaCalendar时间Date 2013-07-30 17:53 140401人阅读 评论(7) 收藏 举报 分类: 所有(165) Java ...

  6. paip.日期时间操作以及时间戳uapi php java python 总结

    paip.日期时间操作以及时间戳uapi php java python 总结 ///uapi Date 函数 | Day 函数 | Hour 函数 | Minute 函数 | Month 函数 | ...

  7. PHP网络操作函数汇总

    PHP网络操作函数汇总 投稿:junjie 字体:[增加 减小] 类型:转载   这篇文章主要介绍了PHP网络操作函数汇总,本文列举了如gethostbyaddr.gethostbyname.head ...

  8. [时间操作] C#DateFormat时间帮助类 (转载)

    点击下载 DateFormat.rar 主要功能如下 返回每月的第一天和最后一天 看下面代码吧 /// <summary> /// 类说明:时间操作类 /// 编 码 人:苏飞 /// 联 ...

  9. Flex时间操作

    小弟是Flex新手,最近一段时间领导要求使用Flex开发B/S的一些项目,需要用到时间上的一些操作.上网查询一番好多人都说不好操作,有的甚至非常麻烦.基于此,小弟整理了一些关于Flex时间操作的经验, ...

随机推荐

  1. 使用while 打印10~1,1~10

    使用while 打印10~1,1~10 #!/bin/bash i= ));do echo $i ((i--)) done 答案:109876543210 i= ));do echo $i ((i++ ...

  2. (转)通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号

    最近由于项目的需要,需要在程序中获取机器的硬盘序列号和MAC地址等信息,在C#下,可以很容易的获得这些信息,但是在C++程序中感觉比较麻烦.经过百度,发现很多大虾都是通过WMI来获取这些硬件信息的,网 ...

  3. Azure disk iops的测试

    在Public Cloud中,VM.Storage和Network是IaaS的三大基础.本文将介绍在Azure的VM上测试磁盘IOPS的工具和方法. 一.添加磁盘.初始化磁盘 1.添加磁盘 把相应的信 ...

  4. 在Azure上搭建L2TP服务器

    L2TP是常用的一种point-site的VPN.而目前在Azure上的VPN Gateway只支持IPsec和SSTP两种.如果客户需要L2TP服务器,需要自己在VM中搭建.本文将介绍如何在Azur ...

  5. linux下常用的基本设置与操作C语言实现

    获取系统时间 int getlocaltime(struct tm *time) { struct timeval tv; time_t second; struct tm *temp; gettim ...

  6. HDU1021(模运算)

    Fibonacci Again Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  7. 机器学习:SVM(scikit-learn 中的 SVM:LinearSVC)

    一.基础理解 Hard Margin SVM 和 Soft Margin SVM 都是解决线性分类问题,无论是线性可分的问题,还是线性不可分的问题: 和 kNN 算法一样,使用 SVM 算法前,要对数 ...

  8. java代码。继承。。。很戳我的心啊。。不太懂。super的真正用法

    总结: package com.addd; //构造方法不能被继承,只能是调用 //属性不能被继承,方法可以 //关于继承练习啊 class fjdsk { String name; int age; ...

  9. 线性表的链式存储——C语言实现

    SeqList.h #ifndef _WBM_LIST_H_ #define _WBM_LIST_H_ typedef void List; typedef void ListNode; //创建并且 ...

  10. eclipse下搭建Drools规则引擎环境

    插件下载地址:http://download.jboss.org/drools/release/ 1.点开对应的版本文件,选择标红的两个压缩包下载,其他的如有需要也可以自行选择: 2.将下载的压缩包解 ...