-1

連絡先を同期するためのアプリを開発しています。すべての連絡先には update_time フィールドがあります。この現在の update_time以前の update_timeと比較したい。

私の問題は、今回はデータベースに文字列形式で保存していることです。

1.この文字列を時間に変換するには?

2.2つの時間を比較するには?

2014-07-11 15:10:55これは私の時間形式です。

ヘルプやコメントは大歓迎です。貴重なご回答ありがとうございます。

4

3 に答える 3

0

sqlite データベースにタイムスタンプを保存することをお勧めします。

getTime()setTime(long)は、 Dateオブジェクトとタイムスタンプの間の変換に役立ちます。

さらに、タイムスタンプを長整数として直接比較することもできます。これらは、1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数です。

于 2014-07-13T20:11:36.117 に答える
0

(データベースに値をテキストではなく整数として保存することを検討することをお勧めします。ここには長所と短所があるため、実際の質問とは少し別の考えとして残します。)

に解析してもよければ、解析はかなり簡単ですjava.util.Date

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);

US ロケールを指定すると、デバイスのデフォルト ロケールの影響を受けなくなります。(これらは単なる数字であるため、いずれにせよ可能性は低くなりますが、別の暦体系を使用する可能性は考えられます。)

値の比較について:

  • 2 つの値をテキスト形式で比較する場合は、単にString.compareTo;を使用できます。ISO-8601 形式の利点の 1 つは、並べ替えができることです。データベースにある値を比較する場合、ISO-8601 の定義方法により、SQL クエリで同じ方法で比較できます。
  • それ以外の場合は、両方の値をDateフォームで取得し、それらを比較しますDate.compareTo

Joda Timeを使用できる場合、それは一般的に、java.util.Dateその他よりも優れた日付/時刻 API であることに注意してください。

于 2014-07-13T20:11:43.710 に答える