Я пытаюсь получить текущую дату и время в структуре FileTime в target-c, возможно ли это? Спасибо.
Получить текущую дату и время в структуре FileTime в Objective-C
comment
Время файла представляет собой конкретную дату и время, когда данный файл был создан, в последний раз к нему обращались или в который в последний раз записывались. Время файла хранится в структуре FILETIME. Эта структура используется с различными вызовами Win32 API.
- person Ahmad Kayyali   schedule 15.10.2011
Ответы (2)
Я нашел элегантное решение для этого:
/**
* 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;
}
сохранить текущее время в FileTime, используя:
NSString* timeStamp = [NSString stringWithFormat:@"%llu",getfiletime()];
person
Ahmad Kayyali
schedule
15.09.2011
Ваш способ работает, но вы можете сделать то же самое, что предложил Пранав, используя другую строку формата.
- person sosborn; 15.09.2011
Я пытаюсь использовать это, чтобы получить вывод в Objective-C, аналогичный выводу, который я получаю от
DateTime.Now.ToFileTimeUtc()
в Unity. Кажется, это должно быть именно то, что мне нужно, но когда я запускаю их одновременно, эта функция возвращает число с разницей примерно в 252 276 759 470 от результата Unity. Любая идея, почему это было бы?
- person Nerrolken; 19.04.2018
Вы имеете в виду "ГГГГ:ММ:ДД:ЧЧ:ММ:СС"
Вы можете использовать следующий код.
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];
person
Pranav Bhargava
schedule
14.09.2011
нет, это будет выглядеть так: среда, 14 сентября 2011 г., 13:20:42 в структуре Filetime 129604944420000000
- person Ahmad Kayyali; 14.09.2011