公式の日付() - 日(日付())+ 1の正しい値は何ですか?ビジュアルfoxproは日付計算をどのように処理しますか? (javaから来て)date() - day(date())+ 1 operation?
日付()が返す '2016年5月5日'
が、2016年5月1日である場合には?または2016/4/29?
視覚的なfoxproからjavaにコードを変換するとき、
次のコードは異なる結果を生成します。コード上
Calendar today2 = Calendar.getInstance();
Calendar endDate = Calendar.getInstance();
endDate.add(Calendar.DATE, -1 * today2.get(Calendar.DATE));
endDate.add(Calendar.DATE, 1);
ながら、2016年5月1日を生成する:コード上
Calendar today2 = Calendar.getInstance();
today2.add(Calendar.DATE, 1);
Calendar endDate = Calendar.getInstance();
endDate.add(Calendar.DATE, -1 * today2.get(Calendar.DATE));
は2016年4月29日を生成します。
どの変換が正しいかわからないのですか?
:に変換する必要があり
:月の開始を見つけるために、VFPコード
IOW:私はあなたのようにあなたのコードを簡素化することができると思います@vimsliu、Cetinは彼の答えで素晴らしいディテール/説明を提供していますが、実際に日付/時刻フィールドを扱っている場合は注意が必要です。そうであれば、1などの数値の加算は実際には日付/時刻フィールドの秒数なので、1分を加算すると+60になります。 1時間は60 * 60になります。しかし、日付で欲しかったのですが、あなたは日付/時刻フィールドを扱っていたというケースを明確にしたかっただけです。 – DRapp
DateTimeの場合、月の開始は同じで、日付にキャストして数学は同じままです:) cast(theDateTime as Date) - day(theDateTime)+1。 –