我正在編寫一個Android應用程序,它應該通過我在服務器端開發的HTTP REST API接收java.time.LocalDateTime對象。Android java.time.LocalDateTime
的問題是,Android仍Java 7中,而java.time是隻在Java 8
有認爲酒店,什麼是代表一個包含日期和時間,在Android的一個變量的最佳方式?我不喜歡使用sql.timestamp。
謝謝!
我正在編寫一個Android應用程序,它應該通過我在服務器端開發的HTTP REST API接收java.time.LocalDateTime對象。Android java.time.LocalDateTime
的問題是,Android仍Java 7中,而java.time是隻在Java 8
有認爲酒店,什麼是代表一個包含日期和時間,在Android的一個變量的最佳方式?我不喜歡使用sql.timestamp。
謝謝!
何必您使用Date
或Calendar
以前到Java 8而Android Joda時間版本(與Java 8日期非常接近)是否可用?
下面是詳細信息,GIT回購/網站:
使用的java.util.Calendar其中有Java 7.請參閱下面的鏈接瞭解更多信息: https://developer.android.com/reference/java/util/Calendar.html
Calendar rightNow = Calendar.getInstance(); //initialized with the current date and time
麻煩的舊日期,時間類,如'日曆'現在是遺留的,被java.time類取代。許多java.time功能都被移植到* ThreeTen-Backport *項目中的Java 6和7中,並進一步在* ThreeTenABP *項目中適用於Android。 –
您可以使用ThreeTen Android Backport這是一個Android適應原來的ThreeTen-Backport是反向移植很多的新的java.time
api返回到Java SE 6和SE 7.
請參閱this answer開始。
a LocalDateTime
對象已被序列化爲string
| long
通過HTTP REST API的JSON屬性。
所以你只要做的就是適配者的JSON屬性設置爲Date
對象,如果你想要一個Date
對象發送到只接受LocalDateTime
對象的服務器格式化Date
對象到JSON屬性。
幾乎所有的JSON庫提供dateFormat
序列化/反序列化string
到Date
, 並轉換長timestamp
到Date
是如此的簡單:
Date date = new Date(timestamp);
我花了2個小時與日曆工作,並放棄喬達... –
很明顯:很難回到笨拙的api。 – davidxxx
Joda-Time項目處於維護模式。該團隊建議遷移到java.time類。許多java.time功能都被移植到* ThreeTen-Backport *項目中的Java 6和7中,並進一步在* ThreeTenABP *項目中適用於Android。 –