2012-04-22 8 views
1

vbの下位時間形式にカレンダーを使用するにはどうすればよいですか?
達成しようとしていること:低い日付が土曜日で、日曜日が同じ週に金曜日に置き換えられる場合(日付= 2012-04-21または2012-04-22の日付= 2012-04-20の場合)。ビジュアルベーシックでカレンダーを操作する

2012-04-20T18:26:事前

答えて

1
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 
1

のおかげではあまりにも多くのテストせずに一緒にいくつかのコードを入れて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 
+0

こんにちは、部分的に動作しますが、「T」文字は、日付と時刻の間で削除され、どのように私は同じフォーマットを保つことができますか? –

+0

文字列dateとcallをsampleに変換するための例を追加しました。しかし、@HansPassant – Steve

+0

からの答えを見てくださいありがとう、私はコードを完了するために管理:) –

関連する問題