البرمجة

عرض مدة الزمن باستخدام NSDate في Swift

عندما تعمل على تطوير تطبيق في Swift، قد تحتاج في بعض الأحيان إلى عرض مدة الزمن التي مرت منذ تاريخ محدد. يمكنك تحقيق ذلك باستخدام NSDate في iOS. لنقم بتحويل الفكرة إلى تنفيذ عملي:

أولاً، يجب عليك الحصول على التاريخ الحالي وتاريخ البداية الذي تريد حساب المدة منذه.

swift
let currentDate = Date() let specificDate = // تاريخ البداية الذي تريد حساب المدة منذه

ثم، يمكنك حساب الفارق بين التواريخ باستخدام Calendar وDateComponents.

swift
let calendar = Calendar.current let components = calendar.dateComponents([.year, .month, .day], from: specificDate, to: currentDate)

ثم، يمكنك عرض النتيجة بطريقة تناسب متطلباتك. على سبيل المثال، إذا كان هناك عام واحد على الأقل فقم بعرض السنوات، وإلا فقم بعرض الأشهر والأيام.

swift
if let years = components.year, years > 0 { print("\(years) year(s) \(months) month(s) \(days) day(s) have passed") } else { let months = components.month ?? 0 let days = components.day ?? 0 print("\(months) month(s) \(days) day(s) have passed") }

هذا التنفيذ سيقوم بطباعة عبارة تحتوي على عدد السنوات والأشهر والأيام التي مرت منذ التاريخ الذي تم تحديده إلى التاريخ الحالي. تذكر أنه يجب استبدال “specificDate” بالتاريخ الفعلي الذي ترغب في حساب المدة منذه.

المزيد من المعلومات

بالطبع، هناك المزيد من المعلومات التي يمكن أن تفيدك في فهم كيفية استخدام NSDate في Swift لعرض مدة الزمن المنقضي. إليك بعض التفاصيل الإضافية:

  1. تحديد التاريخ:

    • يمكنك تحديد التاريخ باستخدام NSDateComponents لتحديد اليوم والشهر والسنة، ثم استخدام Calendar لتحويلها إلى NSDate.
    swift
    var dateComponents = DateComponents() dateComponents.year = 2016 dateComponents.month = 8 dateComponents.day = 11 let specificDate = Calendar.current.date(from: dateComponents)!
  2. حساب الفارق الزمني:

    • يمكنك استخدام Calendar وDateComponents لحساب الفارق بين التاريخين.
    swift
    let calendar = Calendar.current let components = calendar.dateComponents([.year, .month, .day], from: specificDate, to: currentDate)
  3. تنسيق النتيجة:

    • يمكنك تنسيق النتيجة بطريقة تناسب تطبيقك، على سبيل المثال، إذا كان هناك عام واحد على الأقل فقم بعرض “years”، وإلا فقم بعرض “months” و “days”.
    swift
    if let years = components.year, years > 0 { print("\(years) year(s) \(months) month(s) \(days) day(s) have passed") } else { let months = components.month ?? 0 let days = components.day ?? 0 print("\(months) month(s) \(days) day(s) have passed") }
  4. التعامل مع التاريخ بصورة أكثر تفصيلاً:

    • يمكنك استخدام NSDateFormatter لتنسيق التاريخ بطريقة معينة، مثل تنسيق الشهر واليوم والسنة.
    swift
    let formatter = DateFormatter() formatter.dateFormat = "MM/dd/yyyy" let formattedDate = formatter.string(from: specificDate)

    هذا سيقوم بتنسيق التاريخ إلى “08/11/2016” على سبيل المثال.

مع هذه المعلومات الإضافية، يمكنك استخدام NSDate بشكل أكثر فعالية لعرض مدة الزمن المنقضية في تطبيقك باستخدام Swift في iOS.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر