c++将日期读入结构体

C++ reading date into struct

本文关键字:结构体 日期 c++      更新时间:2023-10-16

我是一名风险建模师,经常使用SAS和SQL,但不熟悉c++。我目前正在研究IOS问题,有一个关于日期的问题可能需要你们的帮助。假设在一个txt文件中有一个名为Origination_date的字段,格式为:mm/dd/yy。我的目的是把它解读成这样一个变量:

struct orig_date
{
    int oyr;//extract year from origination date
    int omonth;
    int oqtr;//no necessary at begin
    int oday;
};

我该怎么做才能得到我想要的?谢谢你的帮助!

如果你有选择的话,不要为这个任务发明你自己的类型。

C和c++已经提供了tm结构体,它包含一个分解的日期和时间,以及与time_t进行转换和I/O的例程。除非我有压倒性的理由不这样做,否则我会使用它。例如,要以给定的格式读取日期,可以使用如下命令:

std::tm orig;
std::cin >> std::get_time("%m/%d/%y", &orig);

您所提供的字段将作为orig.tm_year, orig.tm_monorig.tm_mday可用。