私は複数のチェックボックスを選択してレポートの日付を選択しています。ユーザーは1つまたは複数のレポート日付を選択しています。私はJavaScriptを使用していますが、選択し取得するための日付:サーバの日付時刻形式
foreach (var reportDate in reportDates)
{
predicateReportDate = predicateReportDate.Or(p => p.LastUpdateDate == reportDate.ReportDate);
}
すべてがローカルで正常に動作しますが、私はにページを展開するとき、私は日付形式で問題を見つけました:私は、クエリコントローラーに選択された日付を渡すとcreading午前
var dateTime = new Date($(this).val()).toJSON();
サーバ。
ローカルDateTime書式が
'2017年4月21日午後十二時00分00秒'
のようですが、サーバ上で、私は全く別の日付を参照してください。
4/20/2017 6:00:00 PM
それはフィルタが動作しない原因pその日付のレポートがないため、サーバー上で気を付けてください(結果は返されません)。
両方:
LASTUPDATEDATE
と
reportDate.ReportDate
は、日付時刻(ない文字列)
であります日付形式を統一してもらえますか?私が何をしたか
あなたはその日が1日外れていると言っているのですか、または時間の部分をクリアする必要がありますか? –
各Dateオブジェクトのタイムゾーンを検査してみてください。おそらく、正確に同じ時点を参照していますが、コードが実行されているローカルタイムゾーンに合わせて表示が調整されます。 – amphetamachine
はおそらく最良の解決策ではありませんが、私は日付を一致させるためにこれを前に使用しています。 javascript 'var date1 = new Date(); date1.setHours(0、0、0、0); ' –