המרת תאריך למחרוזת

Kotlin:
המרת תאריך למחרוזת

איך לעשות:

קוד Kotlin להמרת תאריך למחרוזת:

import java.text.SimpleDateFormat
import java.util.*

fun formatDateToString(date: Date, pattern: String): String {  // 1
    val formatter = SimpleDateFormat(pattern, Locale.getDefault())  // 2
    return formatter.format(date)  // 3
}

fun main() {
    val date = Date()  // 4
    val pattern = "dd/MM/yyyy HH:mm:ss"  // 5
    val dateString = formatDateToString(date, pattern)  // 6
    println(dateString)  // 7
}

דוגמא פלט:

31/12/2023 15:45:27
  1. פונקציה שממירה תאריך למחרוזת לפי תבנית.
  2. יוצרים מעצב תאריכים עם התבנית והאזור הברירת המחדל.
  3. מחזירים את התאריך מעוצב.
  4. יוצרים אובייקט תאריך חדש עם התאריך והשעה הנוכחית.
  5. הגדרת התבנית למחרוזת - יום/חודש/שנה שעה:דקה:שנייה.
  6. מחילים את הפונקציה על התאריך עם התבנית.
  7. הדפסת המחרוזת.

ניתוח מעמיק

בהיסטוריה, פורמטים רבים נוצרו להמרת תאריכים מבלי סטנדרט מוסכם, דבר שהוליד מערכות עם פורמטים שונים. SimpleDateFormat הוא חלק מ-Java מאז גרסא 1.1 והוא משמש עדיין ב-Kotlin עבור המרות תאריך פשוטות. ישנם גם אלטרנטיבות כגון DateTimeFormatter מהחבילה java.time, המספקת עבודה עם תאריכים בצורה יותר גמישה ובטוחה. החבילה java.time היא מודולית יותר וסולידית מאשר SimpleDateFormat, היות והיא תומכת ב-immutability ו-thread safety.

רכיבים נוספים כגון Joda-Time היו פופולריים עד שהופיעו ב-Java 8, אך כיום המלצה היא לעבוד עם java.time במידה ואין מניעה ספציפית.

במיוחד בפיתוח אנדרואיד, עשוי להיות צורך להתייחס ל-API level של ההתקן כאשר בוחרים את הספריה לניהול תאריכים.

ראו גם