2011-05-26 71 views
1

我想使用getdate()打印ctime数据的年,月,日,小时,分钟和秒。有人可以给我一个如何做到这一点的例子吗?如何用C++语言/ getdate()定义表示时间值的值?

下面是代码:

how can i define the DATA as a struct date time? 
getdate(&DATE); 
    printf("The year is : %d\n",DATE.da_year); 
    printf("The month is : %d\n",DATE.da_month); 
    printf("The day is : %d\n",DATE.da_day); 

也有人可以告诉我如何从OBJç转换为C++以下几点:

(NSString *)conv_fromDateToString:(NSDate *)normalDate{ //code } 
+0

假设getdate()的意思是这样的:http://pubs.opengroup.org/onlinepubs/009695399/functions/getdate.html它不会做你认为它所做的事 - 阅读文档。 – 2011-05-26 07:31:42

+0

你能告诉我如何定义一个代表时间值的值吗?(用C++语言编写) – marryy 2011-05-26 07:34:35

回答

0

我以前的答案是不正确的。
您可能需要this

+1

这种方式对你有帮助吗? – 2011-05-26 07:40:16

+0

@Neil:这说明如何构建一个CTime对象以及如何从CTime对象中提取数据,这不是有帮助吗? – 2011-05-26 07:42:00

+0

@这些CTime和CString是什么?当然,不是标准C++的一部分。并在Ubuntu上可用?哦,等等,它们是否可以成为过时的框架的一部分,甚至连其错误指导的设计师都不再使用? – 2011-05-26 07:46:00

0
#include <ctime> 
#include <iostream> 
using namespace std; 

int main() { 
    time_t t = time(0); 
    struct tm * p = localtime(& t); 
    cout << "year is " << 1900 + p->tm_year << " day is " << p->tm_wday << endl; 
} 

进一步详情,请参阅http://www.cplusplus.com/reference/clibrary/ctime/localtime/http://www.cplusplus.com/reference/clibrary/ctime/tm/

+0

THx回答你的答案。如果我不想要现在的时间。如果我有dd mm yy hh mm ss从键盘上如何分割它?我也可以有dd/mm/yy ...等等:)。我不知道键盘给出的时间格式。 – marryy 2011-05-26 08:03:13

+0

我想创建一个从数据到字符串的数据转换函数,它需要一个数据并返回yyyy,mm,dd作为字符串 – marryy 2011-05-26 08:04:29

+0

@marryy如果你不知道格式,你怎么能期望解析它?我发布了一个链接getdate()函数将解析,但你需要阅读如何使用它,我们不能为你做所有事情。 – 2011-05-26 08:07:11

0

我不太确定你在问什么。如果getdate函数询问您是 是X/Open函数,那么它需要char const*作为 参数;在C++中,通常通过调用c_str(), 和std::string来获得。这个函数实际上需要一些其他的参数,但是,通过各种不正当的手段;特别是, 环境变量DATEMSK必须已设置,可以通过在启动应用程序之前使用 或通过从 调用setenv(或putenv)您的应用程序。

请注意,该变量指定文件的名称,getdate 读取该文件以获取解析时间和日期的模板。

该函数返回一个指向tm,标准的Unix破旧 时间和日期的结构。返回空指针以指示 错误,并在全局变量getdate_err中显示错误代码。

所有这些都意味着大量的静态数据,并且总体上缺乏线程安全性 。这看起来像是Unix功能中的一种,在线程不存在的时代定义为 ,而从现代角度来看,这些功能基本上是 中断。然而,在这种情况下,与其他大多数 不同,似乎没有线程安全替换 。

无论如何,为的getdate确切规范,请参阅Posix-X/Open specifications, 和用于tm说明书(或struct tm,因为这是 一个C API部分),见的time.h说明书中的Posix standard或 与c标准。