获取Objective-C中FileTime结构中的当前日期时间
我试图在objective-c中获取文件时间结构中的当前日期时间,这可能吗?谢谢。你是说 YYYY:MM:DD:HH:MM:SS 您可以使用以下代码获取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
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()];