【发布时间】:2017-09-05 18:04:59
【问题描述】:
我正在尝试加载日期时间和时间字符串
DateTime strTime = DateTime.ParseExact(strTime.Trim(), "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
我有几个地方可以处理日期时间字符串,来自 dateTimePicker:
UseDate = dateTimePicker1.Value.ToString("MMMM dd, yyyy - dddd");
写入然后从文件中加载:
dateTimePicker3.Value = DateTime.ParseExact(DB, "yyyy-MM-dd", CultureInfo.InvariantCulture);
它适用于英语,但不确定如何防止用户有不同的设置,如中文或俄语,在这种情况下我得到:
An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll
Additional information: String was not recognized as a valid DateTime.
我可以通过替换"/"、"." 来防止输入不同的标点符号,并从字符串中删除所有单词,但在这种情况下,我不确定如何找出正确的方法。
例如,在调试中,我看到strTime 带有俄语"апреля 10, 2017 - понедельник" 字符串,但是如何将其更改为正确的可读日期而没有文字。我不能用正则表达式处理它,因为结果我可以得到类似102017 或至少10.20.17 但不是10 April of 2017 必须是10.04.2017 或10/04/2017 或10-04-2017 甚至不同的订购4/10/2017等
【问题讨论】:
-
您的输入来自哪里?你能制作一个只允许一种格式的编辑掩码,还是来自一个你无法做任何事情的外部来源?
-
@GuidoG 你好,问题已编辑
标签: c# winforms date datetime time