Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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中FileTime结构中的当前日期时间_Objective C_Filetime - Fatal编程技术网

获取Objective-C中FileTime结构中的当前日期时间

获取Objective-C中FileTime结构中的当前日期时间,objective-c,filetime,Objective C,Filetime,我试图在objective-c中获取文件时间结构中的当前日期时间,这可能吗?谢谢。你是说 YYYY:MM:DD:HH:MM:SS 您可以使用以下代码 NSDateFormatter *formatDate = [[NSDateFormatter alloc] init]; [formatDate setDateFormat:@"yyyy:MM:dd:HH:mm:ss"]; NSDate *now = [[NSDate alloc] init]; NSStrin

我试图在objective-c中获取文件时间结构中的当前日期时间,这可能吗?谢谢。

你是说 YYYY:MM:DD:HH:MM:SS

您可以使用以下代码

    NSDateFormatter *formatDate = [[NSDateFormatter alloc] init];
    [formatDate setDateFormat:@"yyyy:MM:dd:HH:mm:ss"];

    NSDate *now = [[NSDate alloc] init];

    NSString *formattedDate = [formatDate stringFromDate:now];

    NSLog(@"%@", formattedDate);

    [now release];
    [formatDate release];

我找到了一个优雅的解决方案:

/**
 * number of seconds from 1 Jan. 1601 00:00 to 1 Jan 1970 00:00 UTC
 */
#include <sys/time.h>
#define EPOCH_DIFF 11644473600LL

unsigned long long getfiletime()
{
    struct timeval tv;
    unsigned long long result = EPOCH_DIFF;
    gettimeofday(&tv,NULL);
    result += tv.tv_sec;
    result *= 10000000LL;
    result += tv.tv_usec * 10;
    return result;
}

不,它看起来是这样的:2011年9月14日星期三下午1:20:42,在文件时间结构129604944420000000中,您的工作方式是这样的,但是您可以按照Pranav建议的那样使用不同的格式字符串。我正试图使用它在Objective-C中获得与我在Unity中从DateTime.Now.ToFileTimeUtc获得的输出类似的输出。看起来这正是我需要的,但是当我同时运行它们时,这个函数返回一个与Unity结果相差约252276759470的数字。知道为什么吗?文件时间表示创建、上次访问或上次写入给定文件的特定日期和时间。文件时间存储在文件时间结构中。此结构用于各种Win32 API调用。
NSString* timeStamp  = [NSString stringWithFormat:@"%llu",getfiletime()];