সুইফট 4 এর সাথে পরীক্ষিত
বর্তমান তারিখ এবং সময় প্রাপ্তি
আপনি বর্তমান তারিখ এবং সময়টিকে এ হিসাবে সহজভাবে পেতে পারেন:
let currentDateTime = Date()
যাইহোক, Date
একটি -৪-বিট ভাসমান পয়েন্ট নম্বরটি 1 জানুয়ারী, 2001-এর 00:00:00 ইউটিসি- তে রেফারেন্সের তারিখ থেকে সেকেন্ডের সংখ্যা পরিমাপ করে । আমি বর্তমান তারিখের জন্য ব্যবহার করে সেই নম্বরটি দেখতে পাচ্ছি
Date().timeIntervalSinceReferenceDate
এই লেখার সময়, এটি ফিরে আসল 497626515.185066
, সম্ভবত আপনি যা খুঁজছেন ঠিক তা নয়। পড়তে থাকুন।
আরেকটি তারিখ এবং সময় তৈরি করা
পদ্ধতি 1
আপনি যদি রেফারেন্সের তারিখের আগে বা পরে সেকেন্ডের সংখ্যা জানেন তবে আপনি এটি ব্যবহার করতে পারেন।
let someOtherDateTime = Date(timeIntervalSinceReferenceDate: -123456789.0) // Feb 2, 1997, 10:26 AM
পদ্ধতি 2
অবশ্যই, এটি তৈরির জন্য বছর, মাস, দিন এবং ঘন্টা (আপেক্ষিক সেকেন্ডের চেয়ে) এর মতো জিনিসগুলি ব্যবহার করা আরও সহজ হবে Date
। এর জন্য আপনি DateComponents
উপাদানগুলি নির্দিষ্ট করতে এবং তারপরে Calendar
তারিখটি তৈরি করতে ব্যবহার করতে পারেন । Calendar
দেয় Date
প্রসঙ্গ। অন্যথায় এটি কীভাবে জানবে যে এটি কোন অঞ্চল অঞ্চল বা ক্যালেন্ডারে প্রকাশ করবে?
// Specify date components
var dateComponents = DateComponents()
dateComponents.year = 1980
dateComponents.month = 7
dateComponents.day = 11
dateComponents.timeZone = TimeZone(abbreviation: "JST") // Japan Standard Time
dateComponents.hour = 8
dateComponents.minute = 34
// Create date from components
let userCalendar = Calendar.current // user calendar
let someDateTime = userCalendar.date(from: dateComponents)
অন্যান্য টাইম জোনের সংক্ষিপ্তসারগুলি এখানে পাওয়া যাবে । যদি আপনি সেই শূন্যস্থান ছেড়ে যান, তবে ব্যবহারকারীর সময় অঞ্চলটি ব্যবহার করা ডিফল্ট।
পদ্ধতি 3
সর্বাধিক সংক্ষিপ্ত উপায় (তবে অগত্যা সেরা নয়) ব্যবহার করা যেতে পারে DateFormatter
।
let formatter = DateFormatter()
formatter.dateFormat = "yyyy/MM/dd HH:mm"
let someDateTime = formatter.date(from: "2016/10/08 22:31")
ইউনিকোড কারিগরী মান অন্যান্য ফরম্যাটের দেন যেDateFormatter
সমর্থন।
তারিখ এবং সময় প্রদর্শিত হচ্ছে
পদ্ধতি 1
আপনি শুধু তারিখ বা সময় নির্দিষ্ট উপাদান প্রদর্শন করতে চান তাহলে আপনি ব্যবহার করতে পারেন CalendarUnit
যে আপনার কাছ থেকে বের করে আনতে চান উপাদান উল্লেখ করতে Date
।
// get the current date and time
let currentDateTime = Date()
// get the user's calendar
let userCalendar = Calendar.current
// choose which date and time components are needed
let requestedComponents: Set<Calendar.Component> = [
.year,
.month,
.day,
.hour,
.minute,
.second
]
// get the components
let dateTimeComponents = userCalendar.dateComponents(requestedComponents, from: currentDateTime)
// now the components are available
dateTimeComponents.year // 2016
dateTimeComponents.month // 10
dateTimeComponents.day // 8
dateTimeComponents.hour // 22
dateTimeComponents.minute // 42
dateTimeComponents.second // 17
এই উত্তর দেখুন ।
পদ্ধতি 2
পদ্ধতি 1 আপনাকে উপাদান দিয়েছে, তবে প্রতিটি শৈলী, ভাষা এবং অঞ্চলের জন্য এই সংখ্যাগুলিকে ফর্ম্যাট করা অনেক কাজ হবে। এবং আপনার দরকার নেই। এটি DateFormatter
ক্লাস নিয়ে আপনার জন্য ইতিমধ্যে করা হয়ে গেছে ।
// get the current date and time
let currentDateTime = Date()
// initialize the date formatter and set the style
let formatter = DateFormatter()
formatter.timeStyle = .medium
formatter.dateStyle = .long
// get the date time String from the date object
formatter.string(from: currentDateTime) // October 8, 2016 at 10:48:53 PM
এখানে উপরের কোডটির ধারাবাহিকতা রয়েছে যা আরও ফর্ম্যাটিং বিকল্পগুলি দেখায়:
// "10/8/16, 10:52 PM"
formatter.timeStyle = .short
formatter.dateStyle = .short
formatter.string(from: currentDateTime)
// "Oct 8, 2016, 10:52:30 PM"
formatter.timeStyle = .medium
formatter.dateStyle = .medium
formatter.string(from: currentDateTime)
// "October 8, 2016 at 10:52:30 PM GMT+8"
formatter.timeStyle = .long
formatter.dateStyle = .long
formatter.string(from: currentDateTime)
// "October 8, 2016"
formatter.timeStyle = .none
formatter.dateStyle = .long
formatter.string(from: currentDateTime)
// "10:52:30 PM"
formatter.timeStyle = .medium
formatter.dateStyle = .none
formatter.string(from: currentDateTime)
মনে রাখবেন, যদিও এটি মার্কিন যুক্তরাষ্ট্রে সেট করা অঞ্চলটি ইংরেজির জন্য। অন্যান্য ভাষা এবং অঞ্চলগুলির জন্য ফর্ম্যাটিংটি আলাদা দেখবে।
আরও অধ্যয়ন