その瞬間のタイムスタンプをミリ秒単位で付けて、DBに多数の行を保存します。今日のように、特定の日のすべての行を取得する必要がある場合、その日の開始ミリ秒と終了ミリ秒を正しく作成するにはどうすればよいでしょうか?
SimpleDateFormat と Calendar.getInstance() について簡単に知っていますが、今日の日付のみを取得し、時間の部分を追加してからミリ秒に戻すには、文字列操作 (避けたい) を行う必要がありますか、それとももっと良い方法がありますか?やり方?
その瞬間のタイムスタンプをミリ秒単位で付けて、DBに多数の行を保存します。今日のように、特定の日のすべての行を取得する必要がある場合、その日の開始ミリ秒と終了ミリ秒を正しく作成するにはどうすればよいでしょうか?
SimpleDateFormat と Calendar.getInstance() について簡単に知っていますが、今日の日付のみを取得し、時間の部分を追加してからミリ秒に戻すには、文字列操作 (避けたい) を行う必要がありますか、それとももっと良い方法がありますか?やり方?
質問でコードを提供しなかったので、一般的な回答をさせてください..
探しているのは、2 つの日付/時刻today
と でtomorrow
、どちらも「0 時間 0 分 0 秒」を指定しています。
today <= date AND date < tomorrow
2 つの異なる比較に注意してください。
最も簡単な手法は、次を使用することDateFormat
です。
String input = "Sat Feb 17 2013";
Date date = new SimpleDateFormat("EEE MMM dd yyyy", Locale.ENGLISH).parse(input);
long milliseconds = date.getTime();
String input1="Sun Feb 18 2013"
Date inputNextDay = new SimpleDateFormat("EEE MMM dd yyyy", Locale.ENGLISH).parse(input);
long millisecondsForNextDay=inputNextDay.getTime();
特定の日に該当する行を取得するには、 から までのミリ秒値のタイムスタンプを持つ行を検索しmilliseconds
ますmillisecondsForNextDay
。
if(rowsTimestampSeconds>milliseconds && rowsTimestampSeconds<millisecondsForNextDay){
//get the row
}