Codeit Mobile
94 subscribers
3 photos
1 video
243 links
📱 آموزش برنامه‌نویسی موبایل

Kotlin • Android

🚀 آموزش ساده، کاربردی و پروژه‌محور
💡 مخصوص توسعه‌دهندگان موبایل
Download Telegram
کار با تاریخ و زمان در اندروید همیشه چالش‌برانگیز بوده؛ مخصوصاً وقتی با مناطق زمانی مختلف و فرمت‌های غیراستاندارد سر و کار دارید.

📅 در کاتلین مدرن، کتابخانهٔ «java.time» بهترین گزینه است. دیگر نیازی به «SimpleDateFormat» یا «Calendar» ندارید.

🔍 یک مشکل رایج: تبدیل یک «Timestamp» به تاریخ محلی کاربر با رعایت منطقهٔ زمانی.

🧠 راه‌حل: استفاده از «Instant» و «ZoneId» برای تبدیل دقیق.

با این دو کلاس، همیشه نتیجه‌ی درست می‌گیرید.

👇 یک مثال عملی:

import java.time.Instant
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter

val timestamp: Long = 1700000000000L // مثال
val instant = Instant.ofEpochMilli(timestamp)
val zone = ZoneId.of("Asia/Tehran")
val zonedDateTime = ZonedDateTime.ofInstant(instant, zone)
val formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm")
val persianDate = zonedDateTime.format(formatter)
println(persianDate) // خروجی: ۱۴۰۲/۰۸/۲۰ ۱۲:۳۰


💡 این کد تایم‌استمپ را به تاریخ و زمان محلی بر اساس منطقه زمانی تهران تبدیل می‌کند.

⚙️ نکتهٔ پیشرفته: برای ذخیره در «Room Database»، بهتر است تاریخ را به «Long» (timestamp) تبدیل کنید و هنگام نمایش با «java.time» به فرمت دلخواه تغییر دهید.

🚀 با این روش، همهٔ پیچیدگی‌های «Daylight Saving Time» و مناطق زمانی خودکار مدیریت می‌شود.

📌 حتماً از این رویکرد در پروژه‌های جدید استفاده کنید.

#Codeit #Android #Kotlin #Jetpack #DateTime #javaTime #KotlinTips #AndroidDev
🌐 Codeit → https://code-it.ir

━━━━━━━━━━━━━━━
@CodeitMobile
🔥21