最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++之std::get_time和std::put_time

 更新時(shí)間:2024年10月04日 10:35:36   作者:桐葉巖  
std::get_time和std::put_time是C++中用于日期和時(shí)間的格式化和解析的函數(shù),它們都包含在<iomanip>頭文件中,std::get_time用于從輸入流中解析日期時(shí)間字符串,而std::put_time則用于將std::tm結(jié)構(gòu)格式化為字符串

std::get_time和std::put_time

在 C++ 中,std::get_time 和 std::put_time 是處理日期和時(shí)間格式化的兩個(gè)實(shí)用函數(shù)。它們提供了一種簡(jiǎn)單的方法來(lái)解析和格式化日期時(shí)間字符串。它們都屬于<iomanip>頭文件。

它們是 std::istream 和 std::ostream 的操作符,因此,它們沒(méi)有傳統(tǒng)意義上的構(gòu)造函數(shù)。它們用于格式化和解析日期時(shí)間,但本身并不涉及直接創(chuàng)建對(duì)象。

std::get_time

std::get_time 是一個(gè)流操作符,用于從流中解析日期時(shí)間字符串。

它實(shí)際上是一個(gè)函數(shù)模板,定義在 頭文件中。

template<typename CharT, typename Traits>
std::basic_istream<CharT, Traits>& get_time(std::basic_istream<CharT, Traits>& is, std::tm* t, const CharT* fmt);
  • is: 輸入流(例如 std::istringstream)。
  • t: std::tm 結(jié)構(gòu)的指針,用于存儲(chǔ)解析后的日期時(shí)間。
  • fmt: 日期時(shí)間格式字符串,用于指定如何解析輸入字符串。

用法

#include <iostream>
#include <sstream>
#include <iomanip>
#include <ctime>

int main() {
    std::string datetime_str = "2024-08-14 15:30:00";
    std::tm tm = {};
    std::istringstream ss(datetime_str);

    // 解析日期和時(shí)間
    ss >> std::get_time(&tm, "%Y-%m-%d %H:%M:%S");

    if (ss.fail()) {
        std::cerr << "Error parsing date and time" << std::endl;
        return 1;
    }

    // 輸出解析結(jié)果
    std::cout << "Year: " << tm.tm_year + 1900 << std::endl;
    std::cout << "Month: " << tm.tm_mon + 1 << std::endl;
    std::cout << "Day: " << tm.tm_mday << std::endl;
    std::cout << "Hour: " << tm.tm_hour << std::endl;
    std::cout << "Minute: " << tm.tm_min << std::endl;
    std::cout << "Second: " << tm.tm_sec << std::endl;

    return 0;
}
  • std::get_time(&tm, “%Y-%m-%d %H:%M:%S”):解析 datetime_str 字符串,并將結(jié)果填充到 std::tm 結(jié)構(gòu)中。格式字符串 “%Y-%m-%d %H:%M:%S” 說(shuō)明了輸入字符串的日期時(shí)間格式。
  • tm.tm_year:存儲(chǔ)的是從1900年開(kāi)始的年份,所以需要加上1900才能得到實(shí)際年份。
  • tm.tm_mon:存儲(chǔ)的是從0開(kāi)始的月份,所以需要加上1才能得到實(shí)際月份。

std::put_time

std::put_time 是另一個(gè)流操作符,用于將 std::tm 結(jié)構(gòu)格式化為字符串。

它也是一個(gè)函數(shù)模板,定義在 頭文件中。

template<typename CharT, typename Traits>
std::basic_ostream<CharT, Traits>& put_time(std::basic_ostream<CharT, Traits>& os, const std::tm* t, const CharT* fmt);
  • os: 輸出流(例如 std::ostringstream)。
  • t: 指向 std::tm 結(jié)構(gòu)的指針,用于格式化日期時(shí)間。
  • fmt: 日期時(shí)間格式字符串,用于指定輸出的格式。

用法

#include <iostream>
#include <sstream>
#include <iomanip>
#include <ctime>

int main() {
    std::tm tm = {};
    tm.tm_year = 2024 - 1900; // 年份從1900年開(kāi)始
    tm.tm_mon = 8 - 1; // 月份從0開(kāi)始
    tm.tm_mday = 14;
    tm.tm_hour = 15;
    tm.tm_min = 30;
    tm.tm_sec = 0;

    std::ostringstream ss;

    ss << std::put_time(&tm, "%Y-%m-%d %H:%M:%S");

    std::cout << "Formatted date and time: " << ss.str() << std::endl;

    return 0;
}
  • std::put_time(&tm, “%Y-%m-%d %H:%M:%S”):將 std::tm 結(jié)構(gòu)中的日期時(shí)間信息格式化為字符串,格式為 “%Y-%m-%d %H:%M:%S”。
  • ss.str():獲取格式化后的日期時(shí)間字符串。

這兩個(gè)操作符分別用于日期時(shí)間的解析和格式化,但它們并不涉及直接創(chuàng)建對(duì)象的構(gòu)造函數(shù)。它們是 C++ 標(biāo)準(zhǔn)庫(kù)提供的流操作功能,通過(guò)流操作符來(lái)處理日期和時(shí)間。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用rapidjson實(shí)現(xiàn)解析嵌套的json的方法示例

    利用rapidjson實(shí)現(xiàn)解析嵌套的json的方法示例

    今天小編就為大家分享一篇關(guān)于利用rapidjson實(shí)現(xiàn)解析嵌套的json的方法示例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-04-04
  • vs2019創(chuàng)建WebService服務(wù)的實(shí)現(xiàn)

    vs2019創(chuàng)建WebService服務(wù)的實(shí)現(xiàn)

    這篇文章主要介紹了vs2019創(chuàng)建WebService服務(wù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • C++中指針的數(shù)據(jù)類型和運(yùn)算相關(guān)知識(shí)小結(jié)

    C++中指針的數(shù)據(jù)類型和運(yùn)算相關(guān)知識(shí)小結(jié)

    這篇文章主要介紹了C++中指針的數(shù)據(jù)類型和運(yùn)算相關(guān)知識(shí)小結(jié),是C++入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • vc中SendMessage自定義消息函數(shù)用法實(shí)例

    vc中SendMessage自定義消息函數(shù)用法實(shí)例

    這篇文章主要介紹了vc中SendMessage自定義消息函數(shù)用法,以實(shí)例實(shí)行詳細(xì)講述了SendMessage的定義、原理與用法,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • C語(yǔ)言實(shí)現(xiàn)三子棋(井字棋)算法

    C語(yǔ)言實(shí)現(xiàn)三子棋(井字棋)算法

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)三子棋(井字棋)算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C/C++中常用加密與解密算法的實(shí)現(xiàn)

    C/C++中常用加密與解密算法的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了一些在C++中常用的加密與解密算法,這其中包括Xor異或、BASE64、AES、MD5、SHA256、RSA等,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-11-11
  • C語(yǔ)言利用system調(diào)用系統(tǒng)命令行詳情

    C語(yǔ)言利用system調(diào)用系統(tǒng)命令行詳情

    這篇文章主要介紹了C語(yǔ)言利用system調(diào)用系統(tǒng)命令行詳情,system就是調(diào)用系統(tǒng)命令行,輸入為字符串,然后把這個(gè)字符串輸出給命令行,讓命令行執(zhí)行。下文的具體內(nèi)容,需要的小伙伴可以參考一下
    2022-01-01
  • C語(yǔ)言中進(jìn)程間通訊的方式詳解

    C語(yǔ)言中進(jìn)程間通訊的方式詳解

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言中幾種進(jìn)程間通訊的方式,文中的示例代碼講解詳細(xì),?對(duì)我們學(xué)習(xí)或工作有一定的借鑒價(jià)值,需要的可以參考一下
    2022-08-08
  • 適合初學(xué)者的C語(yǔ)言常量類型的講解

    適合初學(xué)者的C語(yǔ)言常量類型的講解

    常量是固定值,在程序執(zhí)行期間不會(huì)改變。這些固定的值,又叫做字面量。常量可以是任何的基本數(shù)據(jù)類型,比如整數(shù)常量、浮點(diǎn)常量、字符常量,或字符串字面值,也有枚舉常量。常量就像是常規(guī)的變量,只不過(guò)常量的值在定義后不能進(jìn)行修改
    2022-04-04
  • iOS鎖屏音頻播放控制及音頻信息設(shè)置

    iOS鎖屏音頻播放控制及音頻信息設(shè)置

    這篇文章主要為大家詳細(xì)介紹了iOS鎖屏音頻播放控制及音頻信息設(shè)置,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12

最新評(píng)論

青河县| 花垣县| 吐鲁番市| 葫芦岛市| 濉溪县| 顺昌县| 凤阳县| 巴林左旗| 张家港市| 托克托县| 辽中县| 汾西县| 霍州市| 海原县| 高雄市| 江津市| 松江区| 莎车县| 永兴县| 临朐县| 临城县| 黔西县| 富裕县| 通海县| 北票市| 龙山县| 循化| 斗六市| 安乡县| 台北市| 枞阳县| 喜德县| 邢台市| 青阳县| 长寿区| 安新县| 江西省| 江川县| 和田市| 克什克腾旗| 瑞丽市|