Я избегал разработки продуктов Apple, потому что ненавижу Objective-C. Следовательно, я этого не узнал. И я знаю, что синтаксис Swift хоть немного отличается. Просто покажи мне синтаксис. Получите себе легкую репутацию SO.
Обратите внимание, что для этого необходимо импортировать Foundation.
AlBlue 02
3
как насчет без использования Foundation?
Мариус
3
Если вы не хотите использовать фундамент, вы можете использовать AFNetworking / AlamoFire ( github.com/Alamofire/Alamofire ) для загрузки currentmillis.com, а затем проанализировать html страницы. Обратите внимание, что вы должны учитывать задержки в сети и проверять подключение. Я решил просто использовать Foundation ...
1 second =-1 millisecond =1,000 seconds
1 microsecond =1,000,000 seconds
Swift timeIntervalSince1970возвращает секунды с тем, что задокументировано как «субмиллисекундная» точность, которая, как я заметил, обычно означает микросекунды, но иногда одна шкала (одна цифра справа от десятичной дроби) меньше или больше. Когда он возвращает шкалу 5 (5 цифр после десятичной дроби), я не знаю, отбрасывает ли Swift конечный 0 или он не может дать 6 шкал точности. Но когда он возвращает шкалу 7, эта дополнительная цифра может быть усечена, потому что ее точность превышает микросекундную точность. Следовательно, для согласованных и точных значений:
let preciseSeconds =Int(Date().timeIntervalSince1970)let preciseMilliseconds =Int(Date().timeIntervalSince1970*1_000)let preciseMicroseconds =Int(Date().timeIntervalSince1970*1_000_000)// most likely precise
К сожалению, однако, в 2038 году 32-битные числа не будут использоваться для временной метки Unix, и они должны быть 64-битными.
let seconds =Date().timeIntervalSince1970let milliseconds =Date().timeIntervalSince1970*1_000let microseconds =Date().timeIntervalSince1970*1_000_000
- timeIntervalSince1970
.Ответы:
Вы можете просто использовать
timeIntervalSince1970
функцию NSDate .источник
Для Swift 3.0
источник
Вы можете получить это, используя следующие
Это на текущую дату, если вы хотите получить на данную дату
Если вы хотите преобразовать обратно из эпохи времени UNIX в время Swift Date, вы можете использовать следующие
источник
Swift
timeIntervalSince1970
возвращает секунды с тем, что задокументировано как «субмиллисекундная» точность, которая, как я заметил, обычно означает микросекунды, но иногда одна шкала (одна цифра справа от десятичной дроби) меньше или больше. Когда он возвращает шкалу 5 (5 цифр после десятичной дроби), я не знаю, отбрасывает ли Swift конечный 0 или он не может дать 6 шкал точности. Но когда он возвращает шкалу 7, эта дополнительная цифра может быть усечена, потому что ее точность превышает микросекундную точность. Следовательно, для согласованных и точных значений:К сожалению, однако, в 2038 году 32-битные числа не будут использоваться для временной метки Unix, и они должны быть 64-битными.
Расширение:
источник
Если вы не хотите импортировать Foundation, то есть для использования в Linux и т.д., вы можете использовать следующее из CoreFoundation:
источник