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
- פונקציה שממירה תאריך למחרוזת לפי תבנית.
- יוצרים מעצב תאריכים עם התבנית והאזור הברירת המחדל.
- מחזירים את התאריך מעוצב.
- יוצרים אובייקט תאריך חדש עם התאריך והשעה הנוכחית.
- הגדרת התבנית למחרוזת - יום/חודש/שנה שעה:דקה:שנייה.
- מחילים את הפונקציה על התאריך עם התבנית.
- הדפסת המחרוזת.
ניתוח מעמיק
בהיסטוריה, פורמטים רבים נוצרו להמרת תאריכים מבלי סטנדרט מוסכם, דבר שהוליד מערכות עם פורמטים שונים. SimpleDateFormat
הוא חלק מ-Java מאז גרסא 1.1 והוא משמש עדיין ב-Kotlin עבור המרות תאריך פשוטות. ישנם גם אלטרנטיבות כגון DateTimeFormatter
מהחבילה java.time
, המספקת עבודה עם תאריכים בצורה יותר גמישה ובטוחה. החבילה java.time
היא מודולית יותר וסולידית מאשר SimpleDateFormat
, היות והיא תומכת ב-immutability ו-thread safety.
רכיבים נוספים כגון Joda-Time
היו פופולריים עד שהופיעו ב-Java 8, אך כיום המלצה היא לעבוד עם java.time
במידה ואין מניעה ספציפית.
במיוחד בפיתוח אנדרואיד, עשוי להיות צורך להתייחס ל-API level של ההתקן כאשר בוחרים את הספריה לניהול תאריכים.