C++中時間轉換


 

所需頭文件

#include <chrono>
#include <time.h>

 

        auto now = std::chrono::system_clock::now();
        std::time_t now_c = std::chrono::system_clock::to_time_t(now);
        //auto time = ctime(&now_c);
        auto time = std::put_time(std::localtime(&now_c), "%F %T") ;
        wxString time_string = wxString::Format("%d-%d-%d_%d-%d-%d",
        time._Tptr->tm_year + 1900,time._Tptr->tm_mon + 1,time._Tptr->tm_mday,time._Tptr->tm_hour, time._Tptr->tm_min, time._Tptr->tm_sec);

 

std::time_t t;
struct tm *p;
t=std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
p = localtime(&t);
char s[64] = {0};
strftime(s,64,"%Y-%m-%d %H:%M:%S",p);

 

strftime
https://baike.baidu.com/item/strftime/9569073?fr=aladdin
size_t strftime(
char *strDest,
size_t maxsize,
const char *format,
const  struct tm *timeptr
);
%a 星期幾的簡寫
%A 星期幾的全稱
%b 月份的簡寫
%B 月份的全稱
%c 標准的日期的時間串
%C 年份的前兩位數字
%d 十進制表示的每月的第幾天
%D 月/天/%e 在兩字符域中,十進制表示的每月的第幾天
%F 年-月-%g 年份的后兩位數字,使用基於周的年
%G 年份,使用基於周的年
%h 簡寫的月份名
%H 24小時制的小時
%I 12小時制的小時
%j 十進制表示的每年的第幾天
%m 十進制表示的月份
%M 十時制表示的分鍾數
%n 新行符
%p 本地的AM或PM的等價顯示
%r 12小時的時間
%R 顯示小時和分鍾:hh:mm
%S 十進制的秒數
%t 水平制表符
%T 顯示時分秒:hh:mm:ss
%u 每周的第幾天,星期一為第一天 (值從1到7,星期一為1)
%U 第年的第幾周,把星期日作為第一天(值從0到53)
%V 每年的第幾周,使用基於周的年
%w 十進制表示的星期幾(值從0到6,星期天為0)
%W 每年的第幾周,把星期一做為第一天(值從0到53)
%x 標准的日期串
%X 標准的時間串
%y 不帶世紀的十進制年份(值從0到99)
%Y 帶世紀部分的十制年份
%z,%Z 時區名稱,如果不能得到時區名稱則返回空字符。
%% 百分號
語法
strftime(format,timestamp)參數 描述
format 可選。規定如何返回結果。
timestamp 可選。
提示和注釋
例子
<?php
echo(strftime("%b %d %Y %X", mktime(20,0,0,12,31,98)));
echo(gmstrftime("%b %d %Y %X", mktime(20,0,0,12,31,98)));
//輸出當前日期、時間和時區
?>輸出:
Dec 31 1998 20:00:00
Dec 31 1998 19:00:00
It is Wed on Jan 25, 2006, 11:32:10 time zone: W. Europe Standard Time
參數

 

 

C++11 std::chrono庫詳解

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM