Wie erhalte ich das aktuelle Datum (Tag, Monat und Jahr) und die Uhrzeit (Stunde, Minuten und Sekunden) in Kotlin in Ortszeit?
Ich habe es versucht, LocalDateTime.now()
aber es gibt mir einen Fehler zu sagen Call requires API Level 26 (curr min is 21)
.
Wie könnte ich Zeit und Datum in Kotlin bekommen?
org.threeten.bp.LocalDateTime
und gehen Sie wie folgt vor :LocalDateTime.now(yourTimeZone)
(Ich empfehle, die Zeitzone anzugeben, aber wenn Sie dies nicht tun, erhalten Sie die JVM-Zeitzoneneinstellung.) Weitere Informationen finden Sie in dieser Frage: Verwendung von ThreeTenABP in Android Project .Antworten:
java.util.Calendar.getInstance()
stellt die aktuelle Zeit unter Verwendung des aktuellen Gebietsschemas und der aktuellen Zeitzone dar.Sie können auch Joda-Time oder eine der Gabeln für Android importieren und verwenden .
quelle
Versuche dies :
val sdf = SimpleDateFormat("dd/M/yyyy hh:mm:ss") val currentDate = sdf.format(Date()) System.out.println(" C DATE is "+currentDate)
quelle
SimpleDateFormat
vonjava.text
?Meine Utils-Methode zum
Calendar
Abrufen der aktuellen Datums- und Uhrzeit mithilfe von minSdkVersion <26.fun Date.toString(format: String, locale: Locale = Locale.getDefault()): String { val formatter = SimpleDateFormat(format, locale) return formatter.format(this) } fun getCurrentDateTime(): Date { return Calendar.getInstance().time }
Verwenden von
import ...getCurrentDateTime import ...toString ... ... val date = getCurrentDateTime() val dateInString = date.toString("yyyy/MM/dd HH:mm:ss")
quelle
Sie können das aktuelle Jahr, den Monat, den Tag usw. aus einer Kalenderinstanz abrufen
val c = Calendar.getInstance() val year = c.get(Calendar.YEAR) val month = c.get(Calendar.MONTH) val day = c.get(Calendar.DAY_OF_MONTH) val hour = c.get(Calendar.HOUR_OF_DAY) val minute = c.get(Calendar.MINUTE)
Wenn Sie es als LocalDateTime benötigen, erstellen Sie es einfach mit den oben angegebenen Parametern
val myLdt = LocalDateTime.of(year, month, day, ... )
quelle
Versuche dies:
val date = Calendar.getInstance().time val formatter = SimpleDateFormat.getDateTimeInstance() //or use getDateInstance() val formatedDate = formatter.format(date)
Sie können auch Ihr eigenes Muster verwenden , z
val sdf = SimpleDateFormat("yyyy.MM.dd") // 2020.02.02
Um die lokale Formatierung zu erhalten, verwenden Sie
getDateInstance()
,getDateTimeInstance()
odergetTimeInstance()
oder verwenden Sie newSimpleDateFormat(String template, Locale locale)
mit beispielsweise Locale.US für ASCII-Daten. Die ersten drei Optionen erfordern API-Level 29.quelle
Testen Sie diese benutzerfreundlichen Kotlin-Erweiterungen für das Datumsformat
fun String.getStringDate(initialFormat: String, requiredFormat: String, locale: Locale = Locale.getDefault()): String { return this.toDate(initialFormat, locale).toString(requiredFormat, locale) } fun String.toDate(format: String, locale: Locale = Locale.getDefault()): Date = SimpleDateFormat(format, locale).parse(this) fun Date.toString(format: String, locale: Locale = Locale.getDefault()): String { val formatter = SimpleDateFormat(format, locale) return formatter.format(this) }
quelle
Um das aktuelle Datum in Kotlin zu erhalten, gehen Sie wie folgt vor:
val dateNow = Calendar.getInstance().time
quelle
Ich benutze dies, um alle 20 Sekunden Daten von der API abzurufen
private fun isFetchNeeded(savedAt: Long): Boolean { return savedAt + 20000 < System.currentTimeMillis() }
quelle
Eine andere Lösung besteht darin, die API-Ebene Ihres Projekts in build.gradle zu ändern. Dies funktioniert.
quelle