Как преобразовать NSDate в целое число, чтобы передать PHP date () как метку времени unix?
Я новичок objective-c, и мне было поручено создать приложение для iPhone для нашего клиента. У меня есть некоторый опыт работы с Java, но почти нет опыта в этой цели-c, и это мой первый раз для разработки полного приложения...
во всяком случае, в настоящее время я стек на несколько проблем. Одна из этих проблем заключается в том, что мне нужно отправить целое значение для PHP date
функция из моего приложения iOS. Я искал решение, но все они имеют дело с противоположные пути (int to NSDate
), а не NSDate
в целое число.
Я пробовал решения, как ответил здесь
но очевидно, что он возвращает double, а не целое число...
Или этой
но это не могло получить System time
.
Я знаю, что могу получить nsdate текущей системы с:
NSDate *theDay = [NSDate dateWithTimeIntervalSinceNow:[[NSTimeZone systemTimeZone] secondsFromGMT]];
но я не мог понять, как превратить это в целое (или длинное) значение.
мне просто нужно получить то же значение, что и мы может попасть в Java
С System.currentTimeMillis()
.
кроме того, это мой первый раз, чтобы задать вопросы здесь, в stackoverflow. Поэтому, пожалуйста, дайте мне знать, если есть что-то, что я должен делать/не делать при публикации вопросов здесь и т. д.
спасибо.
1 ответов
чтобы получить текущую дату, вы должны использовать это:
NSDate *theDate = [NSDate date];
, чтобы получить его в секундах с 1 января 1970 года, как двойной, можно использовать:
NSTimeInterval seconds = [[NSDate date] timeIntervalSince1970];
чтобы получить его в ms, просто умножьте Предыдущее значение на 1000 и позвольте компилятору привести его в целое число без необходимости дополнительного кода:
long long milliseconds = [[NSDate date] timeIntervalSince1970] * 1000;
и как указывает @HotLicks, в то время как System.currentTimeMillis()
находится в GMT, если вам нужно местное время, вы можете использовать:
long long milliseconds = ([[NSDate date] timeIntervalSince1970]
+ [[NSTimeZone defaultTimeZone] secondsFromGMT]) * 1000;
(Я думаю, что большинство однако веб-службы захотят GMT.)