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