使用独立格式将字符串转换为日期

时间:2016-04-05 23:48:33

标签: vb.net

假设我有这个日期的字符串。 “2015年2月1日”

字符串构建如下:dd-MM-yyyy,这意味着这个日期是2015年1月2日。我需要将此字符串作为日期插入我的SQL数据库。如何告诉数据库第一个整数是一天而不是一个月等等。这是我到目前为止所尝试过的。

    Dim dateTime As String = "02-01-2015"
    Dim dt As DateTime = Convert.ToDateTime(dateTime)
    Dim format As String = "yyyy-MM-dd"
    Dim str As String = dt.ToString(format)

    MsgBox(str)

现在真正的问题开始了。我住在丹麦,我的电脑默认系统时间格式与英国时间格式不同。当我在我的电脑上使用默认时间格式在我的系统上运行此代码时,我得到了msg:

2015-02-01

但如果我将系统时间格式更改为英语,我会收到这个msgbox:

2015-01-02

如何使其独立于系统时间格式?我可以将字符串拆分为年,月和日,还是在转换为日期时总是使用英文时间格式?我知道这对你来说似乎是一个简单的问题,但现在它一直困扰着我。期待你的回复!

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

 ' a date value in the string format specified:
        Dim xmlDate As String = "02-01-2015"

        ' create a DATE variable from that string in a known format:
        Dim newDate As Date = DateTime.ParseExact(xmlDate, "dd-MM-yyyy", Globalization.CultureInfo.InvariantCulture)
        MsgBox(newDate.ToString("yyyy-MM-dd"))