PRINT DATEPART(week, '2012/12/18') --51と表示される
''日付から年内の第何週かを取得する Public Function WeekOfYear(Byval pDateTime As DateTime) Integer ''日付から年間積算日を取得 Dim DayOfYear As Integer = DateTime.Now.DayOfYear '353がセットされる Dim WeekNum As Integer = (DayOfYear / 7 ) + 1 ''1年は52週なので52週をオーバーしたら1週目にする ''→53週でも問題ありません ''If WeekNum > 52 Then '' WeekNum = 1 ''End If Return WeekNum End Function ''使い方 ''1.算出したい日付をセット Dim DateNow As DateTime = DateTime.Parse("2012/12/18") ''2.関数で第何週かを取得 Console.WriteLine(WeekOfYear(DateNow).ToString()) ''51と表示される
2012/12/20訂正
1/1になると、1週になるので、12/30・31が53週でも問題ありませんでした。
0 件のコメント:
コメントを投稿