在C++中比较日期
我有一个文件'date.txt',它有日期。像, 周一10月13日9时37分08秒2009年在C++中比较日期
现在我想比较这最新与系统日期。我如何在C++中比较日期?
我用这个代码从文件内容“date.txt”
string date;
while (inDateFile >>date) //inDateFile is an ifstream object
cout<<date<<endl;
而这种代码来获得系统日期,
time_t timer;
struct tm *tblock;
timer = time(NULL);
tblock = localtime(&timer);
string str = asctime(tblock);
现在,我怎么这两个日期比较。?
http://datetime.perl.org/index.cgi?FAQBasicUsage
你将有你比较之前,你的约会从TXT文件转换成TM结构法。
@iamiPhone,我认为解决方案预计在C++ – Satbir 2009-10-12 05:05:10
雅。我如何在C++中做? – SyncMaster 2009-10-12 05:14:41
,如果你只想分析你的文件,你需要分割字符串中的RESP值的字符串,你也可能需要检查哪些国家地区考虑到这一点,因为不同的地区有不同的顺序/月名称等等。您可以按照哪种顺序配置不同的记号出现在文本中。
解决这个问题的一种方法是,例如取出字符串'date',然后使用boost中的模板Tokenizer(或者如果你想这样做,C方法调用strtok()函数)来分割字符串根据分隔符转换为子字符串。之后,很容易转换输入。
另一个也许更简单的方法是,当你从文件中读取的读取整个字符串,而不是读了上面的分隔符例如','然后再读 - 你可以使用inDateFile.getline()。
这里没有足够的数据来回答问题。第一个代码段中的'date'的类型是什么? – Omnifarious 2009-10-12 05:00:29
date是一个字符串数据类型。我只是阅读字符串中的文件内容并显示它们 – SyncMaster 2009-10-12 05:12:47
这不是一个答案本身,只是一个评论:该地区将如何影响您阅读的文本或在这里是不相关的?在我看来,这整个要求有点脆弱。 – 2009-10-12 07:35:57