有没有办法在时区找到当前的日期格式?我正在从数据库中以字符串的形式检索日期,如果当前的日期时间格式不匹配,则崩溃,"字符串未被识别为有效的日期时间"
答案 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
以检索解析时使用的CultureInfo
。 CultureInfo.DateTimeFormat
会返回您要查找的格式。
如果您知道格式,则应使用DateTime.ParseExact
方法以已知格式解析输入字符串。