Swift में दिनांक और समय के साथ कार्य: पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Swift में दिनांक और समय के साथ कार्य: मूल बातों से लेकर उन्नत तकनीकों तक



दिनांक और समय के साथ कार्य करना iOS और macOS के लिए एप्लिकेशन विकास में प्रमुख कार्यों में से एक है। Swift इस उद्देश्य के लिए शक्तिशाली और लचीले उपकरणों का एक सेट प्रदान करता है: Date, DateFormatter, Calendar, DateComponents और TimeInterval। इस लेख में, हम उनमें से प्रत्येक का विस्तार से विश्लेषण करेंगे, व्यावहारिक उदाहरण दिखाएंगे और दिनांकों को फ़ॉर्मेट करना, समय में अंतर की गणना करना, समय क्षेत्रों और कैलेंडर के साथ कार्य करना जैसे सामान्य कार्यों को हल करना सीखेंगे।



1. मूल बातें: Date क्लास और TimeInterval



समय के एक क्षण को प्रस्तुत करने के लिए मूल प्रकार Date है। यह 1 जनवरी 2001 00:00:00 UTC (Apple के लिए संदर्भ दिनांक) से बीते सेकंडों की संख्या संग्रहीत करता है।



दिनांक बनाना और तुलना करना:

import Foundation

// वर्तमान दिनांक और समयlet now = Date()print("अभी: \\(now)")

// समय अंतराल पर आधारित दिनांक (वर्तमान क्षण से 120 सेकंड)let futureDate = Date(timeIntervalSinceNow: 120)print("2 मिनट बाद: \\(futureDate)")

// संदर्भ दिनांक से निश्चित अंतराल पर आधारित दिनांकlet specificDate = Date(timeIntervalSinceReferenceDate: 3600 * 24 * 365) // 2001 से 1 वर्षprint("अनुमानित दिनांक: \\(specificDate)")

// दिनांकों की तुलनाif now < futureDate { print("वर्तमान दिनांक भविष्य की दिनांक से पहले है")}


TimeInterval केवल Double का एक उपनाम है, जो सेकंडों की संख्या दर्शाता है। इसका उपयोग दिनांकों के बीच अंतर की गणना करने के लिए किया जाता है:

let startDate = Date()sleep(2) // विलंब का अनुकरणlet endDate = Date()

let elapsed: TimeInterval = endDate.timeIntervalSince(startDate)print("\\(elapsed) सेकंड बीत गए") // ~2.0 प्रदर्शित करेगा

// विपरीत संक्रियाlet minutes: TimeInterval = 5 * 60let fiveMinutesLater = Date(timeInterval: minutes, since: startDate)


2. DateFormatter के साथ दिनांकों को फ़ॉर्मेट करना



उपयोगकर्ता को समझने योग्य रूप में दिनांक प्रदर्शित करने के लिए DateFormatter का उपयोग किया जाता है। यह स्थानीयकरण और अनेक शैलियों का समर्थन करता है।



मूल फ़ॉर्मेटिंग:

let formatter = DateFormatter()formatter.locale = Locale(identifier: "hi_IN") // हिंदी स्थानीयताformatter.timeZone = TimeZone.current       // वर्तमान समय क्षेत्र

// मानक शैलियाँformatter.dateStyle = .fullformatter.timeStyle = .shortprint(formatter.string(from: Date())) // उदाहरण: "सोमवार, 24 फ़रवरी 2025, 2:30 अपराह्न"

formatter.dateStyle = .mediumformatter.timeStyle = .noneprint(formatter.string(from: Date())) // "24 फ़रवरी 2025"


कस्टम फ़ॉर्मेट:

formatter.dateFormat = "dd.MM.yyyy HH:mm"print(formatter.string(from: Date())) // "24.02.2025 14:30"

// स्ट्रिंग को दिनांक में पार्स करनाlet dateString = "25.12.2024 10:00"if let parsedDate = formatter.date(from: dateString) { print("पार्स की गई दिनांक: \\(parsedDate)")}


महत्वपूर्ण: पार्स करते समय हमेशा जाँचें कि date(from:) nil नहीं लौटाता है। स्ट्रिंग का गलत फ़ॉर्मेट या स्थानीयता का बेमेल होने पर त्रुटि होगी।



3. कैलेंडर गणनाएँ: Calendar और DateComponents



Calendar क्लास कैलेंडर प्रणाली (ग्रेगोरियन, इस्लामिक, बौद्ध आदि) के बारे में जानकारी समाहित करता है और दिनांकों के साथ जटिल संक्रियाएँ करने की अनुमति देता है। DateComponents का उपयोग दिनांक के अलग-अलग घटकों (वर्ष, महीना, दिन, घंटा आदि) का वर्णन करने के लिए किया जाता है।



घटक निकालना:

let calendar = Calendar.currentlet components = calendar.dateComponents([.year, .month, .day, .weekday], from: Date())

print("वर्ष: \\(components.year!)")print("महीना: \\(components.month!)")print("दिन: \\(components.day!)")print("सप्ताह का दिन: \\(components.weekday!)") // 1 - रविवार, 2 - सोमवार...

ब्लॉग

पुस्तक अनुशंसाएँ