日期格式是正确的yyyy / dd / mm但它显示的是不同的dd / mm / yyyy

时间:2017-07-31 14:56:54

标签: vb.net gridview date-format

这让我很困惑,我需要将我的日期格式化为yyyy / mm / dd就是这种情况,当我注册新用户时它会显示错误并且只接受该格式但是一旦我保存了他们的信息,日期在文本和网格视图中显示为dd / mm / yyyy。

任何想法是什么问题?

检查我的客户验证员(它完全正常;问题很奇怪)

   Dim testing As Date
    If Date.TryParseExact(txtentrydate.Text.ToString(), "yyyy/mm/dd",
                     System.Globalization.CultureInfo.CurrentCulture,
                     Globalization.DateTimeStyles.None, testing) Then
        args.IsValid = True
    Else
        args.IsValid = False
    End If
End Sub

1 个答案:

答案 0 :(得分:2)

Date类型的变量没有格式。日期就是 - 一个时间点。

仅当Date变量转换为字符串时,才会分配格式。所以,如果你这么说

  

...日期在文本和网格视图中显示为dd / mm / yyyy。

那么将日期转换为文本表示的代码是错误的。您没有显示该代码,因此我们只能猜测。我的猜测是你依赖隐式转换,它将使用你当前的语言环境设置。

解决方案很简单:明确转换您的日期,然后再在UI中显示它们。您可以在将ToString("yyyy\/MM\/dd")分配给UI控件时执行此操作,或者通过使用支持数据绑定的控件正确设置某种“格式属性”来执行此操作。

PS:mm is for "minute".您希望在格式字符串中使用MM