Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标C-如何以ISO 8601格式获取当前时间?_Objective C_Date - Fatal编程技术网

Objective c 目标C-如何以ISO 8601格式获取当前时间?

Objective c 目标C-如何以ISO 8601格式获取当前时间?,objective-c,date,Objective C,Date,如何获得ISO 8601格式的当前时间?它应该看起来像2011-11-16T22:06Z,我在找到您的答案时,其中一个答案是使用一个名为Peter Hosey的ISO8601数据格式化程序的开源解决方案 你可以。奖金,几天前才更新(2011年11月5日) 要获取当前日期和时间。。。你会: ISO8601DateFormatter *formatter = [[ISO8601DateFormatter alloc] init]; NSString *dateString = [formatter

如何获得ISO 8601格式的当前时间?它应该看起来像2011-11-16T22:06Z,我在找到您的答案时,其中一个答案是使用一个名为Peter Hosey的ISO8601数据格式化程序的开源解决方案

你可以。奖金,几天前才更新(2011年11月5日)

要获取当前日期和时间。。。你会:

ISO8601DateFormatter *formatter = [[ISO8601DateFormatter alloc] init];
NSString *dateString = [formatter stringFromDate:[NSDate date]];
[formatter release];
formatter = nil;

纯C解决方案,仅使用标准C功能:

#include <stdio.h>
#include <time.h>
int main(void) {
    time_t now = time(NULL);
    struct tm *now_tm = gmtime(&now);
    char iso_8601[] = "YYYY-MM-DDTHH:MMZ"; 
    /* init just to get the right length */

    strftime(iso_8601, sizeof iso_8601, "%FT%RZ", now_tm);
    puts(iso_8601);
    return 0;
}
#包括
#包括
内部主(空){
time\u t now=时间(空);
struct tm*now_tm=gmtime(&now);
字符iso_8601[]=“YYYY-MM-DDTHH:MMZ”;
/*初始化只是为了得到正确的长度*/
strftime(iso_8601,iso_8601的尺寸,“%FT%RZ”,现为_tm);
puts(iso_8601);
返回0;
}

使用一个简单的NSDateFormatter调用--“yyyy-MM-dd'T'HH:mmZ”或类似的调用。(不要忘记设置区域设置以避免AM/PM混乱。)

您不能使用简单的NSDateFormatter调用--“yyyy-MM-dd't'HH:mmZ”或类似的调用吗?(别忘了设置区域设置以避免上午/下午的混乱。)@Daniel R Hicks我就是这么做的,它成功了!你想把它转换成我可以接受的答案吗?我正在寻找一个不使用任何库的简单解决方案。这是正确的答案,一个文件不是库!这也是一段非常好的代码……我相信它应该是
yyyy-MM-dd'HH:MM'Z'
在我的例子中,如果日期是2013-11-29T12:42+06.00,yyyy-MM-dd'HH:MM'Z'不适用于ISO 8601。yyyy'-'MM'-'dd'T'HH':'mmZ有效fine@user1264176-我从来没有见过一个时区有这样的点。对于带有冒号的时区,可以使用zzz。因为没有冒号Z也行。我的意思是,我必须删除(撇号)来包装Z。是的,对不起,时区实际上是冒号。我打错了。