`
dewei
  • 浏览: 163080 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

C风格日期时间在std c++中使用备忘

 
阅读更多
//包含的头文件
#include <ctime>
#include <iostream>
#include <iomanip>

 

/*{{{ 显示100个月前的时间 */
	std::time_t now = std::time(NULL);
	std::tm tm = *std::localtime(&now);//Unix时间戳转成结构
	std::cout << "Today is           " << std::put_time(&tm, "%Y-%m-%d %H:%M:%S") << std::endl;
	//Today is           2013-10-25 17:12:56
	tm.tm_mon -= 100;
	std::time_t ago = std::mktime(&tm); //结构转成Unix时间戳

	std::cout << "100 months ago was " << std::put_time(&tm, "%Y-%m-%d %H:%M:%S") << std::endl;
	//100 months ago was 2005-06-25 17:12:56
	/*}}} */

	/*{{{ 计算两个时间相关多少秒 */
	std::time_t start = std::time(NULL);
	volatile double d = 0.0;
	for(int n=0; n<10000; ++n)
		for(int m=0; m<100000; ++m)
			d += d*n*m; // some time-consuming operation
	std::cout << "Wall time passed: "
		<< std::difftime(std::time(NULL), start) << " s." << std::endl;
	/*}}} */

	/*{{{ 标准C++格式化时间范例
	 */
	std::time_t result = std::time(NULL);//当前Unix时间戳
	char szbuffer[32] = {0};
	std::strftime(szbuffer, sizeof(szbuffer), "%Y-%m-%d %H:%M:%S", std::localtime(&result));
	std::cout << szbuffer << std::endl;//2013-10-25 16:59:28
	/*}}} */

 

分享到:
评论

相关推荐

    c++ std 标准库源码

    C++ 基本库 c++ std 标准库 源码 c++ std 标准库 源码

    在C++中使用openmp进行多线程编程

    11开始支持的std::thread,也可以使用操作系统相关的线程API,如在Linux上,可以使用pthread库。除此之外,还可以使用omp来使用多线程。它的好处是跨平台,使用简单。 在Linux平台上,如果需要使用omp,只需在编译时...

    c++ std thread的用法教程

    c++ std thread教程

    STL源码与STD编程(c++).zip

    STL源码与STD编程(c++).zip

    C++以double方式表示时间

    VC在处理时间差时,比较烦琐。学习DELPHI的方法,以一个DOUBLE值来表示时间...C++中的std::string功能强大,一般在可以情况的都使用string; MFC中的CString功能更为强大,如果string实现不了部分,使用CString来实现。

    c++中hash_table以及std::map应用案例

    代码重点是hash_table,附加std::map与其做对比,实现的是一条sql语句:select c_nationkey, c_mktsegment, count(*), max(c_acctbal) from aaa_customer_1g group by c_nationkey, c_mktsegment order by c_...

    C++ using namespace std 详解

    C++ using namespace std 详解 C++ using namespace std 详解 C++ using namespace std 详解 C++ using namespace std 详解 C++ using namespace std 详解

    通过c++11的std::bind及std::function实现类方法回调,模拟Qt实现信号槽

    c++11引入了std::bind及std::function,实现了函数的存储和绑定,即先将可调用的对象保存起来,在需要的时候再调用。定义了SignalObject信号类和SlotObject槽类,其中信号类中的 std::function(int)&gt; _call就是要...

    C++11 future中std::promise 介绍

    前面两讲《C++11 并发指南二(std::thread 详解) 》,《C++11 并发指南三(std::mutex 详解) 》分别介绍了 std::thread 和 std::mutex,相信读者对 C++11 中的多线程编程有了一个最基本的认识,本文将介绍 C++11 标准...

    C++11中std::future的具体使用方法

    C++11中的std::future是一个模板类。std::future提供了一种用于访问异步操作结果的机制。std::future所引用的共享状态不能与任何其它异步返回的对象共享(与std::shared_future相反)( std::future references shared ...

    C++中文汉字转拼音

    C++,采用“拼音-中文”的数据字典的方式实现中文汉字转拼音,兼容多音字,字典为txt,后期可拓展易维护。在STL的map中查找效率16毫秒左右。

    C++98、C++03、C++11、C++14、C++17、C++20的CHM查询文档

    日期和时间工具 字符串库 容器库 迭代器库 范围库 (C++20) 算法库 数值库 输入/输出库 文件系统库 本地化库 正则表达式库 原子操作库 线程支持库 实验性 C++ 特性 有用的资源 索引 std 符号索引 协程支持 (C++20) ...

    Code::BLOCKS 语法高亮 C/C++ 标准库 NAMESPACE STD WinAPI WX_API

    │ NAMESPACE_STD.CPP C/C++ NAMESPACE_STD 中的关键字和标准库 及 常用WINAPI │ NAMESPACE_STD_ADN_wxKEY.CPP 由于CodeBlocks用户关键字最大支持30K,所以这个是 wx库常用API │ 说明.txt 本说明文件

    详解C++ thread用法总结

    C++11中加入了头文件,此头文件主要声明了std::thread线程类。C++11的标准类std::thread对线程进行了封装,定义了C++11标准中的一些表示线程的类、用于互斥访问的类与方法等。应用C++11中的std::thread便于多线程...

    C++_using_namespace_std_详解

    C++_using_namespace_std_详解,很不错!

    C++11中的时间库std::chrono(引发关于时间的思考)

    今天要总结学习的是 std::chrono 库,它是 C++11 标准时从 boost 库中引入的,其实在 C++ 中还有一种 C 语言风格的时间管理体系,像我们常见的函数 time()、clock()、localtime()、mktime() 和常见的类型 tm、time_t...

    std::list 使用

    linux 下 std::list的使用

    C++11中std::async的使用详解

    C++11中的std::async是个模板函数。std::async异步调用函数,在某个时候以Args作为参数(可变长参数)调用Fn,无需等待Fn执行完成就可返回,返回结果是个std::future对象。Fn返回的值可通过std::future对象的get成员...

    Google C++ 风格指南

    Google C++ 风格指南 Google C++ 风格指南 Google C++ 风格指南

    C和C++头文件对比一览

    // 标准化以前C++中的C标准库 #include&lt;stdio.h&gt; // 在看看这个头文件C标准库下 基于char* 的字符处理函数库 #include&lt;string.h&gt; // 在标准化以后他变成了这样 #include&lt;cstring&gt; // 但是...

Global site tag (gtag.js) - Google Analytics