在c#语言中的时间处理有几种方式:
首先获取当前时间:var date=new DateTime.Now;
date.ToString()----2111-1-20 11:44:47
date.ToShortDateString()---2111/1/20
date.ToShortTimeString()--- 11:47
date.ToString("yyyy-MM-dd hh:mm:ss");//2004-08-12 04:42:34
date.ToString("yyyy-MM-dd");//2004-08-12
date.ToString("HH:mm:ss");//16:42:41
ToShortTimeString()是取得时间中的小时和分钟,ToString()是获取整个时间包括年月日 小时分钟 秒。
ToShortDateString 方法所返回的字符串区分区域性。它反映当前区域性的 DateTimeFormatInfo 对象所定义的模式。例如,对于 en-US 区域性,标准短日期模式为“M/d/yyyy”;对于 de-DE 区域性,该模式为“dd.MM.yyyy”;对于 ja-JP 区域性,该模式为“yyyy/M/d”。此外,也可以在特定计算机上自定义特定格式字符串,以便该字符串不同于标准短日期格式字符串。
日期用ToShortDateString格式化,为什么换了机器以后得出来的不是xxxx-xx-x的形式,而是x/xx/xxxx?
只要在控制面板中的"区域和语言选项"设置"区域选项"就行了
ps:尝试转化时间,防止报错
DateTime dtcreate;
string strDate = string.Empty;
if (DateTime.TryParse(dt.Rows[i]["CreateDate"].ToString(), out dtcreate))
{
strDate = dtcreate.ToShortDateString();
}