目标 c - 如何在 c++ 语言 / getdate() 中定义表示时间值的值

objective c - How to define a value that represents a time value in c++ language / getdate()?

本文关键字:定义 表示 时间 getdate 语言 c++ 目标      更新时间:2023-10-16

我想使用 getdate(( 打印 ctime 数据的年、月、日、小时、分钟、秒。 有人可以举个例子来说明如何做到这一点吗?

这是代码:

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

也有人可以告诉我如何从 obj c 转换为 c++ 以下内容:

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

我之前的回答是不正确的。
你可能需要这个。

#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/。

我不太确定你在问什么。 如果getdate功能你是询问是 X/Open 的,然后需要一个char const*作为论点;在C++,这通常可以通过调用c_str()一个std::string . 该函数实际上需要许多其他然而,通过各种狡猾的手段进行争论;特别是,必须设置环境变量DATEMSK,或者之前使用启动应用程序,或从 setenv(或putenv (调用您的应用程序。

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

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

所有这些都意味着大量的静态数据,并且完全缺乏线程安全。 这看起来像那些遗留的Unix函数之一,定义回到不存在线程的时代,从根本上说从现代的角度来看,破碎。 与大多数其他产品不同但是,在这种情况下,似乎没有线程安全更换。

无论如何,有关getdate的确切规格,请参阅 Posix-X/Open 规范,并用于tm(或struct tm(的规范,因为这是a C API(,请参阅 Posix 标准中的time.h规范或C 标准。