似乎我一直在约会方面遇到问题。我正在使用以下代码:
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# 我得到 If 条件为真(错误地)。
顺便说一句,我也试过 Dim LocalDateCultureProvider As New CultureInfo(System.Globalization.CultureInfo.InvariantCulture.ToString)
只是看看这是否导致了问题。我正在尝试构建适用于所有文化的东西。无论本地设置是什么,我都想通过将当前系统日期与作为字符串接收的到期日期进行比较来测试到期日期。请告诉我如何去做,这样我才能得到一致的结果。
TIA,奇达