0

これは私の最初のアプリであり、日付を使用する必要があります

ボタンがクリックされたときの現在の日付を保存するために sqlite データベースを使用したい

また、そのボタンをクリックすると、現在の日付をテキストビューで表示したい

現在、私は毎日 PHP プログラマーですが、これは私にとってまったく新しいことです。UNIXタイムスタンプ(int)を使用しようとするかどうかが、これに対する最良の解決策であるかどうかについて興味があります。これは、PHPで日付を保存するために使用されているものです。

ボタンがクリックされた後に日付を表​​示するために、現在取り組んでいるものの例を次に示します。次のコードは、ボタンの onClick 関数にあります。

    long currentTimestamp = System.currentTimeMillis();
    Date theDate = new Date(currentTimestamp);
    String showDate = theDate.getDay() + "/" + theDate.getMonth() + "/" + theDate.getYear() + " " + theDate.getHours() + ":" + theDate.getMinutes();

私はこれに取り組み始めましたが、アンドロイドのドキュメントでは、getDay や getMonth などの関数は非推奨であり、Calendar 関数を使用するように指示されています。

もちろん、私はこれに慣れていないので非推奨の関数を使い始めたくありませんが、別のスタックオーバーフローの質問で、Calendar の使用は他のソリューションよりも遅いということを読みました。

これを最も適切かつ効率的な方法で行う方法についての答えを探しているだけです....ありがとう。

編集:

私はちょうどこの質問を読みました: How to store and get datetime value in SQLite

答えの1つは、私が最初にやろうと思っていたUNIXタイムスタンプの使用を推奨しています。unix タイムスタンプ (長い) を表示して保存するときに文字列に変換し、カレンダー機能を使用することでこれを行う方法はありますか?

4

2 に答える 2

1

現在の時刻を取得し、タイムスタンプに変換します。

long dateInMillis = Calendar.getInstance().getTimeInMillis();

元に戻す:

Calendar date = Calendar.getInstance();
date.setTimeInMillis(dateInMillis);
于 2012-05-22T10:04:52.310 に答える
0

このコードを使用

Calendar month = Calendar.getInstance();

int cal_for_month = month.get(Calendar.MONTH);
int cal_for_year = month.get(Calendar.YEAR);
int cal_for_day = month.get(Calendar.DAY_OF_MONTH);
于 2012-05-22T09:49:09.093 に答える