当前日期格式

时间:2011-11-07 11:57:30

标签: c# sql-server

有没有办法在时区找到当前的日期格式?我正在从数据库中以字符串的形式检索日期,如果当前的日期时间格式不匹配,则崩溃,"字符串未被识别为有效的日期时间"

3 个答案:

答案 0 :(得分:5)

听起来重要的不是当前的日期格式,因为你的代码理解它,而是从数据库中获取它。为什么它在数据库中作为字符串开头?如果尽可能,您应该在数据库中使其成为相应的日期/时间相关字段,并让驱动程序进行转换。

如果无法做到这一点,您应该使用自定义日期/时间格式在代码中执行转换,该格式与服务器提供的格式相匹配,并且在适当的文化中(很可能是不变的格式)。

答案 1 :(得分:0)

声音就像你需要使用DateTime.TryParse-method:

http://msdn.microsoft.com/en-us/library/system.datetime.tryparse.aspx

如果您不知道日期的格式是什么,.NET无法弄明白,我认为您的运气不好。你可以试着看看你是否可以通过使用正则表达式自己找出格式。

答案 2 :(得分:0)

DateTime.Parse方法使用在执行线程上设置的格式。请参阅Thread.CurrentCulture以检索解析时使用的CultureInfoCultureInfo.DateTimeFormat会返回您要查找的格式。

如果您知道格式,则应使用DateTime.ParseExact方法以已知格式解析输入字符串。