私はAndroidでいくつかの時間に取り組んでいます。TimePicker から時間を取得し、データベースに保存したいと考えています。時刻を 12 時間形式で保存したい。
また、その時間についていくつかの計算を行う必要があります。として保存すると、String
その文字列で計算を行うために多くのコーディングが必要になります。
より良い解決策はありますか?
どんな助けでも大歓迎です。前もって感謝します。
私のandroidappでは、日時をJavaとデータベースに保存しています。(Unix Time、1970-01-01 からの秒数。@hawaii.five-0 が述べたように)
これらの数値は、過去の日付と後の日付を簡単に比較できますが、生のデータベースを調べたときに人間が読み取るのは困難です。
日付を表示するために、これらの長い数値は Java Date に変換されますnew Date(longValue)
。
残念ながら、sqliteは日付形式をサポートしていません... sqliteアフィニティを見てください。
したがって、テキストまたは数値形式で保存する必要があります。データベースから取得した後、計算を適用します。
ベスト プラクティスは、時刻を Unix タイムスタンプとして保存することです。
12 時間形式の例:
public String getDateFormatted(Date datum) {
DateFormat dfm = new SimpleDateFormat("MM/dd/yyyy K:m a"); //example: 05/23/2012 11:34 PM
return dfm.format(datum);
}