For example, 当Regional Options中日期设置:
Date format:yyyy-MM-dd
Time设置:
Time format: tt hh:mm:ss
AM symbol: 上午
PM symbol:下午
Console.WriteLine(DateTime.Now.ToString());
输出结果:2008-9-22 下午 02:11:56
很显然,如果直接将该值存入数据库中,会得到类似异常:Syntax error converting datetime from character string.
如果直接转换该字符串,如DateTime.Prase("2008-9-22 下午 02:11:56"),这段代码如果当前区域日期时间格式更改,将导致String was not recognized as a valid DateTime.
解决方法:通过DateTime.ToString(string format)方法,使用指定格式format将此实例的值转换成其等效的字符串表示。
DateTime dt = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
此时,DateTime的输出格式由format参数控制,与Regional Options中的Date/Time的设置无关。