C#中DateTime日期类型格式化显示方法汇总及字符串转DateTime

1.14位日期型字符串yyyyMMddHHmmss转变为日期格式

DateTime   dt   =   DateTime.ParseExact("20060709110901","yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);

2.绑定时格式化日期方法:

<ASP:BOUNDCOLUMN DATAFIELD= "JoinTime " DATAFORMATSTRING= "{0:yyyy-MM-dd} " >
<ITEMSTYLE WIDTH= "18% " > </ITEMSTYLE >
</ASP:BOUNDCOLUMN >
3.数据控件如DataGrid/DataList等的件格式化日期方法:
  e.Item.Cell[0].Text = Convert.ToDateTime(e.Item.Cell[0].Text).ToShortDateString();
4.用String类转换日期显示格式:
String.Format( "yyyy-MM-dd ",yourDateTime);
5.用Convert方法转换日期显示格式: 
Convert.ToDateTime("2005-8-23").ToString("yyMMdd",System.Globalization.DateTimeFormatInfo
6.直接用ToString方法转换日期显示格式:
DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss")
DateTime.Now.ToString("yyyyMMddhhmmss");
7.只显示年月
DataBinder.Eval(Container.DataItem,"starttime","{0:yyyy-M}")
8.显示时间所有部分,包括:年月日时分秒
<asp:BoundColumn DataField="收款时间" HeaderText="收款时间" DataFormatString="{0:yyyy-MM-dd HH24:mm:ss}">
</asp:BoundColumn> 
9.格式化从数据库中读取的时间

Convert.ToDateTime(dr["MT_ENDate"]).ToShortDateString();


10.SQL语句使用时间和日期的函数
getdate():获取系统当前时间
dateadd(datepart,number,date):计算在一个时间的基础上增加一个时间后的新时间值,比如:dateadd(yy,30,getdate())
datediff(datepart,startdate,enddate):计算两个时间的差值,比如:datediff(yy,getdate(),'2008-08-08')
dataname(datepart,date):获取时间不同部分的值,返回值为字符串
datepart(datepart,date):和datename相似,只是返回值为整型
day(date):获取指定时间的天数
month(date):获取指定时间的月份
year(date):获取指定时间的年份
select year(getdate()) :当前年份

11.

DateTime.Now;  //取当前年月日时分秒
DateTime.Now.Year;  //取当前年
DateTime.Now.Month;   //取当前月
DateTime.Now.Day;   //取当前日
DateTime.Now.Hour;   //取当前时
DateTime.Now.Minute;   //取当前分
DateTime.Now.Second;   //取当前秒
DateTime.Now.Millisecond;  //取当前毫秒 (变量可用中文)
string strY=DateTime.Now.ToString("f"); //取中文日期显示——年月日时分,不显示秒
string strYM=DateTime.Now.ToString("y");  //取中文日期显示_年月 
string strMD=DateTime.Now.ToString("m");  //取中文日期显示_月日
string strYMD=DateTime.Now.ToString("d"); //取当前取当前时分,格式为:14:24年月日,格式为:2003-9-23 
string strT=currentTime.ToString("t");  //
DateTime.Now.ToString();//获取当前系统时间 完整的日期和时间
DateTime.Now.ToLongDateString();//只显示日期 xxxx年xx月xx日 ,一个是长日期
DateTime.Now.ToShortDateString();//只显示日期 xxxx-xx-xx 一个是短日期
DateTime.Now.Date.ToShortDateString();  //今天
DateTime.Now.AddDays(-1).ToShortDateString();   //昨天的
DateTime.Now.AddDays(1).ToShortDateString();//明天的  
  
//本周(注意这里的每一周是从周日始至周六止)
DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
//上周,上周就是本周再减去7天
DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
//下周  本周再加上7天
DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
  DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
//本月  本月的第一天是1号,最后一天就是下个月一号再减一天。
DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //第一天
DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//最后一天
另一种方法:
DateTime now = DateTime.Now; 
DateTime d1 = new DateTime(now.Year, now.Month, 1); //本月第一天
DateTime d2 = d1.AddMonths(1).AddDays(-1); //本月最后一天
PS:
DateTime.Now.DayOfWeek.ToString();//英文星期显示,Wednesday
(int)DateTime.Now.DayOfWeek   数字,若是周三,结果对应为3
DateTime.Now.ToString("dddd", new System.Globalization.CultureInfo("zh-cn")); //中文星期显示
DateTime.Now.ToString("dddd");//中文星期显示
DateTime.Now.ToString("dddd,MMMM,dd ,yyyy", new System.Globalization.DateTimeFormatInfo());//显示日期格式Friday,July, 01,2009
DateTime.Now.ToString("dddd,dd MMMM,yyyy") //输出  星期三,30 一月,2008 


参考:http://www.jb51.net/article/52817.htm
https://www.cnblogs.com/chendaoyin/archive/2013/03/20/2971115.html

http://www.cnblogs.com/huanglong/archive/2012/03/26/2417487.html

http://www.jb51.net/article/99445.htm

猜你喜欢

转载自blog.csdn.net/lvyiwuhen/article/details/78696225
今日推荐