আপনি কীভাবে স্যুইফ্টে পর্ব থেকে সেকেন্ড পাবেন?
- timeIntervalSince1970
।
আপনি কীভাবে স্যুইফ্টে পর্ব থেকে সেকেন্ড পাবেন?
- timeIntervalSince1970
।
উত্তর:
আপনি কেবল এনএসডিটের timeIntervalSince1970
ফাংশনটি ব্যবহার করতে পারেন ।
let timeInterval = NSDate().timeIntervalSince1970
সুইফট 3.0 এর জন্য
Date().timeIntervalSince1970
আপনি নিম্নলিখিত ব্যবহার করে তা পেতে পারেন
Int(Date().timeIntervalSince1970)
আপনি যদি একটি নির্দিষ্ট তারিখ পেতে চান তবে এটি বর্তমান তারিখের জন্য
Int(myDate.timeIntervalSince1970)
আপনি যদি ইউনিক্স সময় সূচনার সময় থেকে সুইফট তারিখের সময় রূপান্তর করতে চান, আপনি নিম্নলিখিত ব্যবহার করতে পারেন
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-বিট হতে হবে be
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
আপনি যদি ফাউন্ডেশন, অর্থাৎ লিনাক্স ব্যবহার ইত্যাদির জন্য আমদানি করতে না চান তবে আপনি নিম্নলিখিতটি কোরফাউন্ডেশন থেকে ব্যবহার করতে পারেন:
import CoreFoundation
let timestamp = CFAbsoluteTimeGetCurrent() + kCFAbsoluteTimeIntervalSince1970