如何确定用户本地系统日期格式

时间:2017-05-28 21:53:34

标签: vb.net datetime format

我正在尝试从vb.net确定系统日期格式,该格式必须与cmd提示符中显示的格式相匹配。

示例,如果您在cmd提示符下键入date(您可能需要以管理员身份运行它) 它会输出日期更改生效所需的格式,类似于:

The current date is: Sun 05/28/2017 Enter the new date: (mm-dd-yy)

我的任务栏中显示的当前日期也是05/28/2017

从vb.net,我需要找出所请求的格式,在本例中为mm-dd-yy

我已尝试System.Globalization.CultureInfo.CurrentUICulture.DateTimeFormat.ShortDatePattern()输出dd/MM/yyyy与格式不匹配的内容。

2 个答案:

答案 0 :(得分:0)

通过Window的官方文档“Date”命令,它只是硬编码输出,只要它们是“/”,“。”或“ - ”就会接受任何分隔符。请参阅此处的文档: https://technet.microsoft.com/en-us/library/cc732776(v=ws.11).aspx

但是,System.Globalization.CultureInfo.CurrentUICulture.DateTimeFormat.ShortDatePattern()命令应输出用户的当前本地系统日期格式;那个或MSDN文档是错误的。 https://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.shortdatepattern(v=vs.110).aspx

答案 1 :(得分:0)

使用它可以使用它:

Private Function CheckDateFormat1()
    Dim Format As String = DateTimeFormatInfo.CurrentInfo.ShortDatePattern

    If Format.Contains("MMM") Then
        Format = Format.Replace("MMM", "MM")
    ElseIf Format.Contains("MMMM") Then
        Format = Format.Replace("MMMM", "MM")
    End If

    If Format.Contains("dddd") Then
        Format = Format.Replace("dddd", "dd")
    End If

    Return Format
End Function