激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C/C++ - c++11多種格式時間轉化為字符串的方法實現

c++11多種格式時間轉化為字符串的方法實現

2022-03-07 14:18帝江VII C/C++

本文主要介紹了c++11多種格式時間轉化為字符串的方法實現,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

1.打印系統當前時間,或者將系統當前時間轉化為字符串

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <sstream>
#include <iomanip>
#include <chrono>
 
int main()
{
    //打印到標準輸出
    auto t = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
    std::cout  << std::put_time(std::localtime(&t), "%F %T") << std::endl;
 
    //轉為字符串
    std::stringstream ss;
    ss << std::put_time(std::localtime(&t), "%F %T");
    std::string str = ss.str();
 
    return 0;
}

運行截圖:

c++11多種格式時間轉化為字符串的方法實現

代碼講解:

(1)%F %T 是格式化字符串,其中%F 代表 年-月-日 的組合。%T 代表 時:分:秒的組合

         %F %T 等價于 %Y-%m-%d %H:%M:%S。 更加細粒度的控制,可以自己對應組合(%Y,%m...分別對應年月日時分秒,怎么控制輸出隨便你)。比如現在我只需要打印 時-分 這樣的格式,換成 %H - %M 即可

一般記住這幾個常用的格式就夠應付大多數場景了,更全面的格式請參考

(2)關于chrono::system_clock的詳細講解,前看前文

 2.將time_t 類型,或者 long long 類型代表的秒數轉換為字符串

有時候我們和其他的函數,甚至其他語言交互的時候,對方向你拋出一個time_t 類型的時間,或者long long類型的時間,現在需要我們轉換為字符串。別慌,請看下面示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <iomanip>
#include <chrono>
 
int main()
{
    //從1970年1月1日00:00:00所經過的秒數
    long long seconds = 1532581415;
    std::time_t t(seconds);
    std::cout << std::put_time(std::localtime(&t), "[%F %T]") << std::endl;
    return 0;
}

運行截圖:

c++11多種格式時間轉化為字符串的方法實現

代碼講解:

【注意】: long long seconds 一定要是秒數。(如果是毫秒那就除以1000 轉為秒咯,其他類似轉),不然轉換為std::time_t 就失敗了。其他和前一個示例一樣。

總結:

以前總是看別的語言 DateTime::toString("yyyy.MM.dd hh:mm:ss.zzz ddd")啥的非常方便格式化時間,現在c++ 11也可以啦,只要自己稍微封裝下就好了。

更多的格式化字符串及意義:

 

轉換
說明符
解釋 使用的域
% 寫字面的 % 。完整轉換指定必須是 %% 。  
n
(C++11)
寫換行符  
t
(C++11)
寫水平制表符  
Y 以 4 位十進制數寫。 tm_year
EY
(C++11)
以替用方式寫。例如在 ja_JP 本地環境中,以“平成23年”取代“2011年”。 tm_year
y 的末 2 位十進制數(范圍[00,99])。 tm_year
Oy
(C++11)
以替用數字系統寫的末 2 位數字。例如在 ja_JP 本地環境中以“十一”取代“11”。 tm_year
Ey
(C++11)
寫作從本地環境的替用時期 %EC 的偏移(本地環境依賴)。 tm_year
C
(C++11)
的首 2 位十進制數(范圍 [00,99] )。 tm_year
EC
(C++11)
以本地環境的替用表示寫年份基底(時期),例如 ja_JP 中的“平成”。 tm_year
G
(C++11)
基于 ISO 8601 的年,即是包含指定星期的年份。

IS0 8601 中星期以星期一開始,而且一年的首星期必須滿足下列要求:

  • 包含 1 月 4 日
  • 包含一年的首個星期四
tm_year, tm_wday, tm_yday
g
(C++11)
基于 ISO 8601 的年,即是包含指定星期年份,的后 2 位數(范圍 [00,99] )。

IS0 8601 中星期以星期一開始,而且一年的首星期必須滿足下列要求:

  • 包含 1 月 4 日
  • 包含一年的首個星期四
tm_year, tm_wday, tm_yday
b 縮略月名,例如 Oct (本地環境依賴)。 tm_mon
h
(C++11)
與 b 同意。 tm_mon
B 完整月名,例如 October (本地環境依賴)。 tm_mon
m 寫作十進制數(范圍 [01,12] )。 tm_mon
Om
(C++11)
以替用數字系統寫。例如 ja_JP 本地環境中“十二”取代“12”。 tm_mon
星期
U 以十進制數寫年的星期(星期日是星期的首日)(范圍 [00,53] )。 tm_year, tm_wday, tm_yday
OU
(C++11)
以替用數值系統寫如同用 %U 的年的星期。例如“五十二”在 ja_JP 本地環境中取代“52”。 tm_year, tm_wday, tm_yday
W 以十進制數寫年的星期(星期一是星期的首日)(范圍 [00,53] )。 tm_year, tm_wday, tm_yday
OW
(C++11)
以替用數值系統寫如同用 %W 的年的第星期。例如“五十二”在 ja_JP 本地環境中取代“52”。 tm_year, tm_wday, tm_yday
V
(C++11)
ISO 8601 的年的星期(范圍[00,53])。

IS0 8601 中星期以星期一開始,而且一年的首星期必須滿足下列要求:

  • 包含 1 月 4 日
  • 包含一年的首個星期四
tm_year, tm_wday, tm_yday
OV
(C++11)
以替用數值系統寫如同用 %V 的年的星期。例如“五十二”在 ja_JP 本地環境中取代“52”。 tm_year, tm_wday, tm_yday
年/月之日
j 以十進制數寫年的第幾日(范圍 [001,366] )。 tm_yday
d 以十進制數寫月的第幾日(范圍 [01,31] )。 tm_mday
Od
(C++11)
以替用數字系統寫零基的月的第幾日。例如 ja_JP 本地環境中“二十七”取代“ 27 ”。

單字符前加空格。

tm_mday
e
(C++11)
以十進制數寫月的第幾日(范圍[01,31])。

單數字前加空格。

tm_mday
Oe
(C++11)
以替用數字系統寫一基的月的第幾日。例如 ja_JP 本地環境中“二十七”取代“27”。

單字符前加空格。

tm_mday
星期之日
a 縮略的星期日期名,例如 Fri (本地環境依賴)。 tm_wday
A 完整的星期日期名,例如 Friday (本地環境依賴)。 tm_wday
w 以十進制數寫星期日期,其中星期日是 0 (范圍 [0-6] )。 tm_wday
Ow
(C++11)
用替用數字系統寫星期日期,其中星期日是 0 。例如 ja_JP 本地環境中“二”取代“2”。 tm_wday
u
(C++11)
十進制數寫星期日期,其中星期一是 1 ( ISO 8601 格式)(范圍 [1-7] )。 tm_wday
Ou
(C++11)
用替用數字系統寫星期日期,其中星期一是 1 。例如 ja_JP 本地環境中“二”取代“2”。 tm_wday
時、分、秒
H 以十進制數寫, 24 小時制(范圍 [00-23] )。 tm_hour
OH
(C++11)
以替用數字系統寫 24 小時制的。例如 ja_JP 本地環境中“十八”取代“18”。 tm_hour
I 以十進制數寫, 12 小時制(范圍 [01,12] )。 tm_hour
OI
(C++11)
以替用數字系統寫 12 小時制的。例如 ja_JP 本地環境中“六”取代“6”。 tm_hour
M 以十進制數寫(范圍 [00,59] )。 tm_min
OM
(C++11)
以替用數字系統寫。例如 ja_JP 本地環境中“二十五”取代“25”。 tm_min
S 以十進制數寫(范圍 [00,60] )。 tm_sec
OS
(C++11)
以替用數字系統寫。例如 ja_JP 本地環境中“二十四”取代“24”。 tm_sec
其他
c 標準日期時間字符串。例如 Sun Oct 17 04:41:13 2010 (本地環境依賴)。 全部
Ec
(C++11)
替用日期時間字符串。例如 ja_JP 本地環境中“平成23年”取代“2011年”。 全部
x 寫本地化的日期表示(本地環境依賴)。 全部
Ex
(C++11)
替用日期表示。例如 ja_JP 本地環境中“平成23年”取代“2011年”。 全部
X 寫本地化的時間表示,例如 18:40:20 或 6:40:20 PM (本地環境依賴)。 全部
EX
(C++11)
替用時間表示(本地環境依賴)。 全部
D
(C++11)
等價于"%m/%d/%y"。 tm_mon, tm_mday, tm_year
F
(C++11)
等價于"%Y-%m-%d"( ISO 8601 日期格式)。 tm_mon, tm_mday, tm_year
r
(C++11)
寫本地化的 12 小時制時間(本地環境依賴)。 tm_hour, tm_min, tm_sec
R
(C++11)
等價于"%H:%M"。 tm_hour, tm_min
T
(C++11)
等價于"%H:%M:%S"( ISO 8601 時間格式)。 tm_hour, tm_min, tm_sec
p 寫本地化的 a.m.p.m. (本地環境依賴)。 tm_hour
z
(C++11)
以 ISO 8601 格式(例如 -0430 )寫距 UTC 的偏移,或者倘若時區信息不可用則不寫字符。 tm_isdst
Z 寫依賴本地環境的時區名或縮寫,或者若時區信息不可用則不寫字符。 tm_isdst

 

到此這篇關于c++11多種格式時間轉化為字符串的方法實現的文章就介紹到這了,更多相關c++11時間轉化為字符串內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/qq_31175231/article/details/77923212

延伸 · 閱讀

精彩推薦
  • C/C++C/C++經典實例之模擬計算器示例代碼

    C/C++經典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關于C/C++經典實例之模擬計算器的相關資料,文中通過示...

    jia150610152021-06-07
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

    針眼_6702022-01-24
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

    這篇文章主要為大家詳細介紹了C語言實現電腦關機程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
  • C/C++深入理解goto語句的替代實現方式分析

    深入理解goto語句的替代實現方式分析

    本篇文章是對goto語句的替代實現方式進行了詳細的分析介紹,需要的朋友參考下...

    C語言教程網7342020-12-03
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    青山的青6062022-01-04
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數使用

    詳解c語言中的 strcpy和strncpy字符串函數使用

    strcpy 和strcnpy函數是字符串復制函數。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

    這篇文章主要介紹了c++ 單線程實現同時監聽多個端口的方法,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

    本文給大家分享的是作者在學習使用C++進行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
主站蜘蛛池模板: 免费国产精品视频 | 蜜桃av网| 九九色网站 | 亚洲欧美国产高清 | 一级视频片 | 黄色一级电影网 | 51国产偷自视频区视频小蝌蚪 | 日本中文字幕网址 | 叶子楣成人爽a毛片免费啪啪 | 久久久亚洲高清 | 久久久久亚洲a | 亚洲免费在线视频 | av一二三四区 | 91av在线免费观看 | 激情久久免费视频 | 把娇妻调教成暴露狂 | 久久久久免费精品 | 久久综合色区 | 成人久久一区二区 | 成人羞羞在线观看网站 | 92精品国产自产在线 | 亚洲成人午夜精品 | 国产精品视频免费网站 | 国内精品伊人久久久久网站 | 毛片免费观看视频 | wankz100%videos| 中文字幕国产亚洲 | 欧美亚洲免费 | 亚洲资源在线 | 视频h在线| a免费毛片 | 国产一区二区免费在线观看视频 | 欧美成人小视频 | 国产成人精品区一区二区不卡 | 一区二区三区国产好的精 | 黄色特级 | 欧美精品一区二区久久久 | 精品国产一区二区亚洲人成毛片 | 视频一区二区三区在线播放 | freexxxhd喷水 | 久久久久女人精品毛片九一 |