問題タブ [gregorian-calendar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - .NET が 2008 年 12 月 29 日の間違った週番号を表示していますか?
公式の (グレゴリオ暦) 暦によると、 2008 年12 月 29 日の週番号は 1 です。これは、52 週の最終日 (つまり、12 月 28 日) の後に、1 年に 3 日以下しか残っていないためです。ちょっと奇妙ですが、OK、ルールはルールです。
このカレンダーによると、2008/2009 年のこれらの境界値があります。
- 28/12 は第 52 週です
- 29/12 は第 1 週です
- 1/1 は週 1 です
- 8/1 は第 2 週です
C# は、関数を持つ GregorianCalendar クラスを提供しますGetWeekOfYear(date, rule, firstDayOfWeek)
。
パラメータrule
は、3 つの可能な値を持つ列挙型です: FirstDay, FirstFourWeekDay, FirstFullWeek
. 私が理解したことから、私はFirstFourWeekDay
ルールに従うべきですが、念のためそれらすべてを試しました。
最後のパラメーターは、どの曜日が週の最初の日と見なされるかを通知します。そのカレンダーによれば、月曜日なので月曜日です。
そこで、これをテストするために、簡単で汚いコンソール アプリを起動しました。
...そしてこれが私が得たものです
ご覧のとおり、上記の組み合わせはいずれも公式のカレンダーと一致しません (お急ぎの場合は、12 月 29 日が第 1 週にならないことを確認してください)。
ここで何が間違っていますか?たぶん、私が見逃している何かがはっきりしているでしょうか?(今日は金曜日で、ここベルギーでは勤務時間が遅くなります。ご了承ください ;))
編集:説明する必要があるかもしれません:必要なのは、リンクしたグレゴリオ暦と同じ結果を返す、どの年でも機能する関数です。したがって、2008 年の特別な回避策はありません。
java - グレゴリオ暦
私は割り当てを行っていますが、それには GregorianCalendar の使用が含まれます。仕様によると、setLenient(false); を使用する必要があります。どうすればいいですか?また、プログラムの初日が常にその日になるように、一定の日付 (2009 年 1 月 1 日) を設定する必要があります。
また、これを通じて日、月、年にアクセスするように指示されています。
日付に n 日を追加するには、フィールド番号 5 を指定して add メソッドを呼び出します。
減算するには: add(5, -n);
誰かがそれが何を意味し、それをどのように実装するかを説明できますか?
java - GregorianCalendar 定数日付
OK、プログラムに日付を出力させたい: 1/1/2009
しかし、これはそれが出力するものです:
2009 年 1 月 1 日木曜日 00:00:00 EST
このコードから
2009 年 1 月 1 日のみを印刷するように変更するにはどうすればよいですか?
java - グレゴリオ暦月
このコードを実行すると、1/0/2009 になります。月を変えても同じです。何が問題で、どうすれば修正できますか?
c# - C# での 1 年の最後の日曜日
C#で年の最後の日曜日の日付を取得するにはどうすればよいですか?? gregoriancalendar クラスは役に立ちますか?
java - GregorianCalendar.getInstance にユリウス暦タイプの calsys と cdate が含まれているのはなぜですか?
日付値をデフォルト値の PreparedStatement に設定しようとしましたが、値が JulianValue として返されることがあります。例 (spanBegin と spanEnd が null であると仮定)
行番号 3 では、0000 年 1 月 1 日の日付がユリウス暦によってスコープされるため、CDate はユリウス暦になります。ただし、次の Date が 9999 年であっても、その CDate は依然としてユリウス暦になります。この問題を解決するには、グレゴリオ暦の別のインスタンスを作成する必要がありました。
問題は、これは予期された動作なのか、それとも日付オブジェクトのバグなのかということです。実際に GregorianCalendar.getInstance() を使用すると、cdate が JulianCalendar に設定される場合があることがわかります。
database - データベース アプリケーションで、非グレゴリオ暦の日付が必要になったことはありませんか?
コンテキスト: 主要なデータベースがグレゴリオ暦のみをサポートしていることに気付きました。したがって、グレゴリオ暦以外でデータベース アプリを構築するのは難しいように思われます。
データベース アプリでグレゴリオ暦以外の日付を使用したことがある場合は、ユース ケースのコンテキストを知りたいと思います。
たとえば、あなたがインドに住んでいる場合、インドで構築されたソフトウェアの何パーセント (大まかに言えば) が非グレゴリオ暦を使用しますか? それは一般的ですか、それともまれですか?非グレゴリオ暦がサポートされていないことに悩まされていますか?