1
vbの下位時間形式にカレンダーを使用するにはどうすればよいですか?
達成しようとしていること:低い日付が土曜日で、日曜日が同じ週に金曜日に置き換えられる場合(日付= 2012-04-21または2012-04-22の日付= 2012-04-20の場合)。ビジュアルベーシックでカレンダーを操作する
2012-04-20T18:26:事前
vbの下位時間形式にカレンダーを使用するにはどうすればよいですか?
達成しようとしていること:低い日付が土曜日で、日曜日が同じ週に金曜日に置き換えられる場合(日付= 2012-04-21または2012-04-22の日付= 2012-04-20の場合)。ビジュアルベーシックでカレンダーを操作する
2012-04-20T18:26:事前
Public Shared Function NoWeekend(ByVal day As DateTime) As DateTime
If day.DayOfWeek = DayOfWeek.Sunday Then Return day.AddDays(-2)
If day.DayOfWeek = DayOfWeek.Saturday Then Return day.AddDays(-1)
Return day
End Function
のおかげではあまりにも多くのテストせずに一緒にいくつかのコードを入れて43
。
Sub Main
Dim dt as DateTime = FindDate(Convert.ToDateTime("2012-04-21T18:26:43"))
System.Diagnostics.Debug.WriteLine(dt.ToShortDateTime())
End Sub
Public Function FindDate(ByVal inDate as DateTime) as DateTime
if (inDate.DayOfWeek = DayOfWeek.Saturday Or inDate.DayOfWeek = DayOfWeek.Sunday) then
while (inDate.DayOfWeek <> DayOfWeek.Friday)
inDate = inDate.AddDays(-1)
end while
end if
return inDate
End Function
こんにちは、部分的に動作しますが、「T」文字は、日付と時刻の間で削除され、どのように私は同じフォーマットを保つことができますか? –
文字列dateとcallをsampleに変換するための例を追加しました。しかし、@HansPassant – Steve
からの答えを見てくださいありがとう、私はコードを完了するために管理:) –