0

日付列に基づいて行を表示するようにデータベースにクエリを実行しています。正しく機能するメソッドがありますが、データベース内の日付値の形式を変更する必要があります。以前は、日付をyyyyMdとして設定していましたが、たとえば、今日は201252になります。次に、日付をLongに解析し、メソッドに渡しました。

        String sd = hiddenDate.getText().toString();
    long aLong = Long.parseLong(sd);
    dba.open();
    String[] rScr = dba.getTodayMethod(aLong);

しかし、日付形式をyyyy-Myに書き直す必要があります。次に、日付のダッシュが「parseLong」を壊していると思います。そして、sd変数をgetTodayMethodに渡すだけでは、のようにString[] rScr = dba.getTodayMethod(sd);機能しないようです。では、日付のダッシュに対応するために、String sdを何に解析する必要がありますか?そして、その解析コードはどのように記述されますか?

4

1 に答える 1

1

基本的に、最初から長いものとして解析しようとすることで、間違ったことをしていることになります。これは、64ビット整数のテキスト表現ではなく、日付のテキスト表現です。したがって、日付/時刻に関係するタイプを使用してください。

個人的にはJodaTimeを使用するのが好きですが、Androidを使用している場合は、大きすぎる可能性があります。その場合は、恐ろしいものを使用java.util.Dateしてから、解析に使用する必要があります。(ロケールとタイムゾーンを適切に設定することを忘れないでください...)java.util.Calendarjava.text.SimpleDateFormat

于 2012-05-02T20:22:25.843 に答える