我知道这样的问题在这里很多。请通过一次
我有一个string
来自当前日期的文本框,例如 2012 年 10 月 9 日,我的类属性是DateTime?
类型。我正在使用Convert.ToDateTime(datetime_string_from_textbox)
,但它给了我一个FormatException
. DateTime.ParseExact(string, format, CultureInfo, DateTimeStyle)
然后我按照 Jon Skeet 的建议尝试了这里,但它仍然给了我同样的例外。
还有一件事——我的本地机器日期时间格式是dd-mm-yyyy
. 当我将其切换为mm/dd/yyyy
格式时,代码工作正常。所以基本上,我想知道如何将有效的日期时间字符串解析为DateTime
对象,而不考虑区域设置、任何设置或对本地机器的任何依赖。
这可能吗?
更新:正在使用的代码
employee.JoiningDate = DateTime.ParseExact(string.Format("{0} 00:00:00", JoiningDate.Text.Trim()), "MM/dd/yyyy hh:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal);
现有问题和所需解决方案
我的系统日期时间显示 24-10-2012(即 10 月 24 日),我的文本框中有 10/17/2012(即 10 月 17 日),因为文本框日期也是有效的,并且在再次部署后客户端日期时间格式将变得未知,因此,我想要一种通用的方法来解析任何有效的日期时间字符串,而不管区域设置如何。这可能吗?