एनएसडीएटी कॉम्पोनेंट्स मैं एक एनएसडीएटी के एनएसडीएट कॉम्पोनेंट कैसे प्राप्त करूं? मैं 2 तिथियों, बस सेकंड, मिनट, घंटे, दिन, महीने और एनएसडीएटी के वर्ष के बीच अंतर के घटक नहीं चाहता हूं? एक तिथि के घटकों हो रही है:एनएसडीएटी
21
A
उत्तर
38
वहाँ लिस्टिंग 3, Apple docs में एक उदाहरण है कि आप करने के लिए है 'या'
NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *weekdayComponents =
[gregorian components:(NSDayCalendarUnit |
NSWeekdayCalendarUnit) fromDate:today];
NSInteger day = [weekdayComponents day];
NSInteger weekday = [weekdayComponents weekday];
नोट एक साथ calendar units आप components
विधि के कॉल में चाहते हैं।
6
NSCalendar की विधि का उपयोग:
- (NSDateComponents *)components:(NSUInteger)unitFlags fromDate:(NSDate *)date
की तरह:
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDate *date = [NSDate date];
NSCalendar * cal = [NSCalendar currentCalendar];
NSDateComponents *comps = [cal components:unitFlags fromDate:date];
0
स्विफ्ट में
2.x घटकों आप चाहते हैं इस तरह पारित कर रहे हैं।
let gregorianCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
let weekdayHourMinutes = gregorianCalendar?.components([.Weekday, .Hour, .Minute], fromDate: date)
2
को Apple डेवलपर API संदर्भ अनुसार, DateComponents
second
, minute
, hour
, day
, month
, year
उदाहरण गुण है।
निम्नलिखित स्विफ्ट 3 खेल का मैदान कोड से पता चलता DateComponents
का उपयोग कर एक Date
उदाहरण से सेकंड, मिनट, घंटे, दिन, महीने और वर्ष घटकों पाने के लिए:
import Foundation
var calendar = Calendar(identifier: .gregorian)
calendar.timeZone = TimeZone(abbreviation: "CET")!
let date = Date()
// Get seconds, minutes, hours, day, month and year
let components = calendar.dateComponents([.second, .minute, .hour, .day, .month, .year], from: date)
let seconds = components.second
let minutes = components.minute
let hours = components.hour
let day = components.day
let month = components.month
let year = components.year
// Print components
print(String(reflecting: seconds)) // prints Optional(33)
print(String(reflecting: minutes)) // prints Optional(42)
print(String(reflecting: hours)) // prints Optional(22)
print(String(reflecting: day)) // prints Optional(17)
print(String(reflecting: month)) // prints Optional(12)
print(String(reflecting: year)) // prints Optional(2016)
/* ... */
// Set a formatter in order to display date
let formatter = DateFormatter()
formatter.dateStyle = .short
formatter.timeStyle = .long
formatter.timeZone = TimeZone(abbreviation: "CET")
formatter.locale = Locale(identifier: "fr_FR")
print(formatter.string(from: date)) // prints 17/12/2016 22:42:33 UTC+1
तुम मुझे हरा, हा! +1 –
@ मार्टिन क्लेटन, हाय, मैंने एनएसडीएट कॉम्पोनेंट्स को विशेष समय, घंटे और दूसरा सेट कर दिया है और अब मैं उन NSDateComponents के साथ फिर से तारीख बनाना चाहता हूं। मैं उसे कैसे कर सकता हूँ? –