2017-04-16 42 views
1

我正在編寫一個Android應用程序,它應該通過我在服務器端開發的HTTP REST API接收java.time.LocalDateTime對象。Android java.time.LocalDateTime

的問題是,Android仍Java 7中,而java.time是隻在Java 8

有認爲酒店,什麼是代表一個包含日期和時間,在Android的一個變量的最佳方式?我不喜歡使用sql.timestamp。

謝謝!

回答

3

何必您使用DateCalendar以前到Java 8而Android Joda時間版本(與Java 8日期非常接近)是否可用?

下面是詳細信息,GIT回購/網站:

https://github.com/dlew/joda-time-android

+0

我花了2個小時與日曆工作,並放棄喬達... –

+0

很明顯:很難回到笨拙的api。 – davidxxx

+2

Joda-Time項目處於維護模式。該團隊建議遷移到java.time類。許多java.time功能都被移植到* ThreeTen-Backport *項目中的Java 6和7中,並進一步在* ThreeTenABP *項目中適用於Android。 –

1

使用的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 
+2

麻煩的舊日期,時間類,如'日曆'現在是遺留的,被java.time類取代。許多java.time功能都被移植到* ThreeTen-Backport *項目中的Java 6和7中,並進一步在* ThreeTenABP *項目中適用於Android。 –

0

a LocalDateTime對象已被序列化爲string | long通過HTTP REST API的JSON屬性。

所以你只要做的就是適配者的JSON屬性設置爲Date對象,如果你想要一個Date對象發送到只接受LocalDateTime對象的服務器格式化Date對象到JSON屬性。

幾乎所有的JSON庫提供dateFormat序列化/反序列化stringDate, 並轉換長timestampDate是如此的簡單:

Date date = new Date(timestamp); 
相關問題