我的日期格式有问题。
我的电脑的区域设置为“MM-dd-yyyy”。
我有C#应用程序。我希望用户只能以“dd / mm / yyyy”格式输入日期。
当用户输入30/10/2010(表示2010年10月30日)时,访问权限不会改变任何内容。没关系。
但是,如果用户输入05/10/2010(表示2010年10月5日),那么在日期文本框丢失的焦点上,它会自动更改为10/05/2010。它应该保持为05/10/2010。
任何人都可以告诉我解决方案是什么?
请注意,我不想更改区域设置。
答案 0 :(得分:0)
您可能必须使用强制格式解析输入以获取正确的日期时间值。
然后将其格式化为中性字符串表达式以与SQL语句连接:
string textDate = "05/10/2017";
IFormatProvider provider = System.Globalization.CultureInfo.InvariantCulture;
DateTime date = DateTime.ParseExact(textDate, "dd/MM/yyyy",provider);
string sql = "... #" + date.ToString("yyyy'/'MM'/'dd") + "# ...";
将返回:
date: 2017-10-05 00:00:00
sql : ... #2017/10/05# ...