C++输出系统当前时间,并保存于文件中,求解

发布网友 发布时间:2022-04-23 22:32

我来回答

3个回答

热心网友 时间:2023-08-18 19:23

不太明白你c写的转换为c++的意思,.c写的本来就可以直接复制到.cpp作为c++代码进行编译

利用time.h 获取时间是c/c++的标准方法,也就是说,这样写出来的代码,windows和linux都能用;
而system("time")不是c++专用的方法,c语言也可以用,它本质就是在命令行cmd输入命令time 一样,只能显示出结果,无法获得返回值。我估计你是因为这个无法写入文件。

我推荐你是用timer.h来获取时间

给你一段代码参考吧,可以获取当前的时间(c/c++都可以):
#include<time.h>
time_t timeSec=time (NULL); //获取1970.1.1至当前秒数time_t
struct tm * timeinfo= localtime ( &timeSec );//创建TimeDate,并转化为当地时间,
//struct tm * timeinfo = gmtime ( &timeSec ); //创建TimeDate,并转化为GM时间,
printf ( "The current date/time is: %s\n", asctime (timeinfo) );
//获取年 月 日 时 分 秒 对应的int值:
printf("%d-%d-%d %d:%d:%d\n",timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
---------------------------------------------------------------------
有了上面的时间获取方法,要写入文件也是很简单的了:

FILE *fp=fopen("xxx.txt","w");
fprintf(fp, "%d-%d-%d %d:%d:%d\n",timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);追问

输出结果是"2014-12-23 12:25"

为什么"systime.wHour"不能显示正确的小时?现在是20点,输出是12点,其余都正常显示!

追答因为中国采用北京时间,东八区,比格林威治时间快了8小时

热心网友 时间:2023-08-18 19:24

system("time >myfile.txt");

So easy! 很简单的吗

追问

输出结果是"2014-12-23 12:25"

为什么"systime.wHour"不能显示正确的小时?现在是20点,输出是12点,其余都正常显示!

热心网友 时间:2023-08-18 19:24

你这C++用的cmd命令啊。。
不过你可以这么写
system("date /t>>d:\1.txt &time /t >>d:\1.txt")

然后修改文件。。。追问

输出结果是"2014-12-23 12:25"

为什么"systime.wHour"不能显示正确的小时?现在是20点,输出是12点,其余都正常显示!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com