如何获取本地时间并将其放入字符串

问题描述:

我有一个方法s,它具有日期时间参数。如何获取本地时间并将其放入字符串

如何在C++中编写它?

c#是:

string s(System.DateTime sd); 

编辑! 如何调用S方法?另外一个问题是:如何将字符串值中的时间转换为:日,月,小时,分钟,以及其他字符串秒?

+3

请停止标记与该操作系统无关的事情'ubuntu'。你碰巧使用它是不够的! – 2011-05-25 15:02:09

+0

@Tomalak Geret'kal:这只是因为你知道正确的答案(即'gmtime()')是一个标准的C++函数。对于一个类似的合理问题,“白天何时开始?”由于没有ISO C++解决方案,因此了解您是在寻找Ubuntu还是Windows的答案非常重要。 – MSalters 2011-05-26 12:34:51

只是一个例子。谷歌为time.h下面是伪代码:

#include <time.h> 

string getTime() 
{ 
    time_t timeObj; 
    time(&timeObj); 
    tm *pTime = gmtime(&timeObj); 
    char buffer[100]; 
    sprintf(buffer, "%d%d%d", pTime->tm_hour, pTime->tm_min, pTime->tm_sec); 
    return buffer; 
} 
+0

以及如何从int main调用该方法? – marryy 2011-05-25 14:00:04

+0

@marryy,看编辑的代码...并尝试自己 – iammilind 2011-05-25 14:08:37

+0

的事情是,我的方法需要作为参数时间给我,我猜是一个长期的价值:)。所以我需要有字符串getTime(这里是我想要在秒,h,年拆分的时间...... – marryy 2011-05-25 14:25:36

看看Boost Posix Time

它提供了一整套类来有效和可靠地处理日期,时间,持续时间和解析。

char time_buf[21]; 
time_t now; 
time(&now); 
strftime(time_buf, 21, "%Y-%m-%dT%H:%S:%MZ", gmtime(&now)); 

Here

+0

-1:询问当地时间的问题。 – 2014-05-30 09:21:37

您可以使用<ctime>库赶上当前时间:

time_t rawtime = time(&rawtime); 
struct tm *timeinfo = localtime(&rawtime); 

现在你有,你可以从中取不同值timeinfo结构变量。更多信息here