কীভাবে এনএসডিট ব্যবহার করে সুইফট 3 এ সময় (ঘন্টা, মিনিট, দ্বিতীয়) পাবেন?


87

আপনি সুইফট 3 এ এনএসডিট ক্লাস থেকে ঘন্টা, মিনিট এবং দ্বিতীয়টি কীভাবে নির্ধারণ করতে পারেন?

সুইফট 2 এ:

let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.Hour, fromDate: date)
let hour = components.hour

সুইফট 3?


আরও দেখুন এই উত্তর
সুরগাচ

উত্তর:


168

ইন সুইফট 3.0 আপেল 'এন' উপসর্গ ও প্রণীত সবকিছু সহজ সরানো হয়েছে। নীচে 'তারিখ' শ্রেণি থেকে ঘন্টা, মিনিট এবং সেকেন্ড পাওয়ার উপায় রয়েছে (এনএসডেট বিকল্প)

let date = Date()
let calendar = Calendar.current

let hour = calendar.component(.hour, from: date)
let minutes = calendar.component(.minute, from: date)
let seconds = calendar.component(.second, from: date)
print("hours = \(hour):\(minutes):\(seconds)")

এগুলির মতো আপনি একই সাথে পাস করে যুগ, বছর, মাস, তারিখ ইত্যাদি পেতে পারেন।


100

সুইফট 4.2 এবং 5

// *** Create date ***
let date = Date()

// *** create calendar object ***
var calendar = Calendar.current

// *** Get components using current Local & Timezone ***
print(calendar.dateComponents([.year, .month, .day, .hour, .minute], from: date))

// *** define calendar components to use as well Timezone to UTC ***
calendar.timeZone = TimeZone(identifier: "UTC")!

// *** Get All components from date ***
let components = calendar.dateComponents([.hour, .year, .minute], from: date)
print("All Components : \(components)")

// *** Get Individual components from date ***
let hour = calendar.component(.hour, from: date)
let minutes = calendar.component(.minute, from: date)
let seconds = calendar.component(.second, from: date)
print("\(hour):\(minutes):\(seconds)")

সুইফট 3.0

// *** Create date ***
let date = Date()

// *** create calendar object ***
var calendar = NSCalendar.current

// *** Get components using current Local & Timezone ***    
print(calendar.dateComponents([.year, .month, .day, .hour, .minute], from: date as Date))

// *** define calendar components to use as well Timezone to UTC ***
let unitFlags = Set<Calendar.Component>([.hour, .year, .minute])
calendar.timeZone = TimeZone(identifier: "UTC")!

// *** Get All components from date ***
let components = calendar.dateComponents(unitFlags, from: date)
print("All Components : \(components)")

// *** Get Individual components from date ***
let hour = calendar.component(.hour, from: date)
let minutes = calendar.component(.minute, from: date)
let seconds = calendar.component(.second, from: date)
print("\(hour):\(minutes):\(seconds)")

আমি যদি 'Component' is not a member type of 'Calendar'লাইনে উঠি unit ইউনিটফ্ল্যাজগুলি দিন ... ``
নেটিগগার

4
আপনি যা জিজ্ঞাসা করছেন তা আমার কাছে পরিষ্কার নয়, আপনি কীভাবে সদস্যবিহীন প্রকারটি যুক্ত করতে পারেন Calendar.Component? আপনার তারিখটি "02/12/15, 16:46" অনুসরণ করছে যেখানে সেকেন্ড উপলভ্য নেই এবং আপনি উপাদান ব্যবহার করে সেকেন্ড সরিয়ে নেওয়ার চেষ্টা করছেন এটি আপনাকে 0সেই ক্ষেত্রে ফিরিয়ে দেবে Consider
পঞ্চসরা দীপেন

আমি আমার সমস্যাটি পেয়েছি ... আমি এমন একটি কাঠামো ঘোষণা করেছি Calendarযা Calendar.Componentস্পষ্টতই হস্তক্ষেপ করেছিল ।
নেটিগগার

25
let date = Date()       
let units: Set<Calendar.Component> = [.hour, .day, .month, .year]
let comps = Calendar.current.dateComponents(units, from: date)

21

সুইফট 4

    let calendar = Calendar.current
    let time=calendar.dateComponents([.hour,.minute,.second], from: Date())
    print("\(time.hour!):\(time.minute!):\(time.second!)")


6

সুইফ্ট 5+

extension Date {
    
    func get(_ type: Calendar.Component)-> String {
        let calendar = Calendar.current
        let t = calendar.component(type, from: self)
        return (t < 10 ? "0\(t)" : t.description)
    }
}

ব্যবহার:

print(Date().get(.year)) // => 2020
print(Date().get(.month)) // => 08
print(Date().get(.day)) // => 18 


4

সেরা দরকারী জন্য আমি এই ফাংশন তৈরি:

func dateFormatting() -> String {
    let date = Date()
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "EEEE dd MMMM yyyy - HH:mm:ss"//"EE" to get short style
    let mydt = dateFormatter.string(from: date).capitalized

    return "\(mydt)"
}

আপনি যেখানে খুশি তাই এখানে কল করুন:

print("Date = \(self.dateFormatting())")

এটি আউটপুট:

Date = Monday 15 October 2018 - 17:26:29

শুধুমাত্র সময় চাইলে কেবল পরিবর্তন করুন:

dateFormatter.dateFormat  = "HH:mm:ss"

এবং এটি আউটপুট:

Date = 17:27:30

এবং এটাই...


2
swift 4

==> Getting iOS device current time:-

print(" ---> ",(Calendar.current.component(.hour, from: Date())),":",
               (Calendar.current.component(.minute, from: Date())),":",
               (Calendar.current.component(.second, from: Date())))

output: ---> 10 : 11: 34

1

এটি সম্ভবত যারা একাধিক শ্রেণিতে বর্তমান তারিখটি ব্যবহার করতে চান তাদের পক্ষে কার্যকর।

extension String {


func  getCurrentTime() -> String {

    let date = Date()
    let calendar = Calendar.current


    let year = calendar.component(.year, from: date)
    let month = calendar.component(.month, from: date)
    let day = calendar.component(.day, from: date)
    let hour = calendar.component(.hour, from: date)
    let minutes = calendar.component(.minute, from: date)
    let seconds = calendar.component(.second, from: date)

    let realTime = "\(year)-\(month)-\(day)-\(hour)-\(minutes)-\(seconds)"

    return realTime
}

}

ব্যবহার

        var time = ""
        time = time.getCurrentTime()
        print(time)   // 1900-12-09-12-59
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.