आप स्विफ्ट में युग से सेकंड कैसे प्राप्त करते हैं?
- timeIntervalSince1970
:।
आप स्विफ्ट में युग से सेकंड कैसे प्राप्त करते हैं?
- timeIntervalSince1970
:।
जवाबों:
आप बस NSDate के timeIntervalSince1970
फ़ंक्शन का उपयोग कर सकते हैं ।
let timeInterval = NSDate().timeIntervalSince1970
स्विफ्ट 3.0 के लिए
Date().timeIntervalSince1970
आप निम्नलिखित का उपयोग करके प्राप्त कर सकते हैं
Int(Date().timeIntervalSince1970)
यह वर्तमान तिथि के लिए है, यदि आप दी गई तिथि के लिए प्राप्त करना चाहते हैं
Int(myDate.timeIntervalSince1970)
यदि आप वापस UNIX समय युग से स्विफ्ट दिनांक समय में कनवर्ट करना चाहते हैं, तो आप निम्न का उपयोग कर सकते हैं
let date = Date(timeIntervalSince1970: unixtEpochTime)
1 second = -
1 millisecond = 1,000 seconds
1 microsecond = 1,000,000 seconds
स्विफ्ट के timeIntervalSince1970
रिटर्न सेकंड के साथ "सब-मिलिसेकंड" परिशुद्धता के रूप में प्रलेखित है, जिसे मैंने आमतौर पर माइक्रोसेकंड का मतलब माना है, लेकिन कभी-कभी एक स्केल (दशमलव के दाईं ओर एक अंक) कम या अधिक। जब यह 5 के पैमाने (दशमलव के बाद 5 अंक) देता है, तो मुझे नहीं पता कि स्विफ्ट 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-बिट संख्या यूनिक्स टाइमस्टैम्प के लिए उपयोग करने योग्य नहीं होगी और उन्हें 64-बिट होना चाहिए।
let seconds = Date().timeIntervalSince1970
let milliseconds = Date().timeIntervalSince1970 * 1_000
let microseconds = Date().timeIntervalSince1970 * 1_000_000
एक विस्तार:
extension Date {
var unixTimestamp: Int64 {
return Int64(self.timeIntervalSince1970 * 1_000)
}
}
Date().unixTimestamp
यदि आप फ़ाउंडेशन अर्थात लिनक्स उपयोग आदि के लिए आयात नहीं करना चाहते हैं, तो आप CoreFoundation से निम्नलिखित का उपयोग कर सकते हैं:
import CoreFoundation
let timestamp = CFAbsoluteTimeGetCurrent() + kCFAbsoluteTimeIntervalSince1970