4.0J以前のDateTimeExを利用した週番号取得の機能を10.0Jで実装するには?

文書番号 : 40930     文書種別 : 使用方法     登録日 : 2017/08/25     最終更新日 : 2017/08/25
文書を印刷する
対象製品
InputMan for Windows Forms 10.0J
詳細
InputMan for Windows Forms 10.0JではDateTimeExクラスなどの週番号を取得できるクラスや、日付時刻/日付コントロールから週番号を取得する機能は用意されていません。
DateTimeExクラスは「PlusPak for Windows Forms」に搭載されています。

[製品情報]-[PlusPak for Windows Forms 10.0J]

また、標準のDateTime型で取得する方法で対応することもご検討ください。次のサンプルコードは、DateTime型で週番号を取得する例です。

[Visual Basic]
' 今日の日付を基に週番号を計算します
Dim thisDate As DateTime = DateTime.Today
' その年の開始曜日を取得します
Dim firstDayOfWeek As Integer = DateTime.Parse(thisDate.Year.ToString() + "/01/01").DayOfWeek
' 何日経過したかを取得します
Dim dayOfYear As Integer = thisDate.DayOfYear
' 開始曜日を基に週番号を計算します
MsgBox(String.Format("第{0}週です", (firstDayOfWeek + dayOfYear - 1)  7 + 1))

[C#]
// 今日の日付を基に週番号を計算します
DateTime thisDate = DateTime.Today;
// その年の開始曜日を取得します
int firstDayOfWeek = (int)DateTime.Parse(thisDate.Year.ToString() + "/01/01").DayOfWeek;
// 何日経過したかを取得します
int dayOfYear = thisDate.DayOfYear;
// 開始曜日を基に週番号を計算します
MessageBox.Show(string.Format("第{0}週です", (firstDayOfWeek + dayOfYear - 1) / 7 + 1));
関連情報