日付に問題があり続けているようです。次のコードを使用しています。
Dim LocalDateCultureProvider As New CultureInfo(CultureInfo.CurrentCulture.ToString)
Dim CurrentDate As DateTime = Convert.ToDateTime(System.DateTime.Now.ToString("dd/MM/yyyy"), System.Globalization.CultureInfo.InvariantCulture)
ExpiryDate = DateTime.ParseExact(strDate, "dd/MM/yyyy", LocalDateCultureProvider)
If DateTime.Compare(ExpiryDate, CurrentDate) < 0 Then
MsgBox("This file has expired.")
Exit Sub
End If
ここで strDate を文字列として読み取っています。一例として、この値は「29/09/2012」ですが、ExpiryDate 行では #09/29/2012# に変換されるため、今日の日付と比較すると、 CurrentDate に #10/6/2012# として保存されます (私の意見では正しく)。
ところで、Dim LocalDateCultureProvider As New CultureInfo(System.Globalization.CultureInfo.InvariantCulture.ToString) も試しました
それが問題の原因であるかどうかを確認するだけです。私はすべての文化で機能するものを作ろうとしています. ローカル設定が何であれ、現在のシステム日付を文字列として受け取った有効期限と比較して、有効期限をテストしたいと考えています。安定した結果が得られるようにする方法を教えてください。
千田ティア