我想使用getdate()打印ctime数据的年,月,日,小时,分钟,秒。有人可以给我一个如何做到这一点的例子吗?
以下是代码:
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转换为c ++以下内容:
(NSString *)conv_fromDateToString:(NSDate *)normalDate{ //code }
答案 0 :(得分:0)
我之前的回答是不正确的 您可能需要this。
答案 1 :(得分: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/。
答案 2 :(得分: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),请参阅Posix standard或{{3}}中time.h
的规范
C标准。