C#日期格式字符串的相互转换操作实例分析
程序员文章站
2022-06-22 15:20:20
本文实例讲述了c#日期格式字符串的相互转换操作。分享给大家供大家参考,具体如下:
方法一:convert.todatetime(string)
string格式有要求,...
本文实例讲述了c#日期格式字符串的相互转换操作。分享给大家供大家参考,具体如下:
方法一:convert.todatetime(string)
string格式有要求,必须是yyyy-mm-dd hh:mm:ss
方法二:convert.todatetime(string, iformatprovider)
datetime dt; datetimeformatinfo dtformat = new system.globalizationdatetimeformatinfo(); dtformat.shortdatepattern = "yyyy/mm/dd"; dt = convert.todatetime("2011/05/26", dtformat);
方法三:datetime.parseexact()
string datestring = "20110526"; datetime dt = datetime.parseexact(datestring, "yyyymmdd", system.globalization.cultureinfo.currentculture);
或者
datetime dt = datetime.parseexact(datestring, "yyyymmdd", system.globalization.cultureinfo.invariantculture);
附参考信息:
cultureinfo cultureinfo = cultureinfo.createspecificculture("en-us"); string format = "ddd mmm d hh:mm:ss zz00 yyyy"; string stringvalue = datetime.now.tostring(format, cultureinfo); // 得到日期字符串 datetime datetime = datetime.parseexact("wed aug 25 16:28:03 +0800 2010", format, cultureinfo); // 将字符串转换成日期
其他相关:
日期格式:yyyymmdd hh:mm:ss(注意此字符串的字母大小写很严格)
yyyy: | 代表年份 |
mm: | 代表月份 |
dd: | 代表天 |
hh: | 代表小时(24小时制) |
mm: | 代表分钟 |
ss: | 代表秒 |
datetime.now.toshorttimestring() datetime dt = datetime.now; dt.tostring();//2005-11-5 13:21:25 dt.tofiletime().tostring();//127756416859912816 dt.tofiletimeutc().tostring();//127756704859912816 dt.tolocaltime().tostring();//2005-11-5 21:21:25 dt.tolongdatestring().tostring();//2005年11月5日 dt.tolongtimestring().tostring();//13:21:25 dt.tooadate().tostring();//38661.5565508218 dt.toshortdatestring().tostring();//2005-11-5 dt.toshorttimestring().tostring();//13:21 dt.touniversaltime().tostring();//2005-11-5 5:21:25 dt.year.tostring();//2005 dt.date.tostring();//2005-11-5 0:00:00 dt.dayofweek.tostring();//saturday dt.dayofyear.tostring();//309 dt.hour.tostring();//13 dt.millisecond.tostring();//441 dt.minute.tostring();//30 dt.month.tostring();//11 dt.second.tostring();//28 dt.ticks.tostring();//632667942284412864 dt.timeofday.tostring();//13:30:28.4412864 dt.tostring();//2005-11-5 13:47:04 dt.addyears(1).tostring();//2006-11-5 13:47:04 dt.adddays(1.1).tostring();//2005-11-6 16:11:04 dt.addhours(1.1).tostring();//2005-11-5 14:53:04 dt.addmilliseconds(1.1).tostring();//2005-11-5 13:47:04 dt.addmonths(1).tostring();//2005-12-5 13:47:04 dt.addseconds(1.1).tostring();//2005-11-5 13:47:05 dt.addminutes(1.1).tostring();//2005-11-5 13:48:10 dt.addticks(1000).tostring();//2005-11-5 13:47:04 dt.compareto(dt).tostring();//0 dt.add(?).tostring();//问号为一个时间段 dt.equals("2005-11-6 16:11:04").tostring();//false dt.equals(dt).tostring();//true dt.gethashcode().tostring();//1474088234 dt.gettype().tostring();//system.datetime dt.gettypecode().tostring();//datetime dt.getdatetimeformats('s')[0].tostring();//2005-11-05t14:06:25 dt.getdatetimeformats('t')[0].tostring();//14:06 dt.getdatetimeformats('y')[0].tostring();//2005年11月 dt.getdatetimeformats('d')[0].tostring();//2005年11月5日 dt.getdatetimeformats('d')[1].tostring();//2005 11 05 dt.getdatetimeformats('d')[2].tostring();//星期六 2005 11 05 dt.getdatetimeformats('d')[3].tostring();//星期六 2005年11月5日 dt.getdatetimeformats('m')[0].tostring();//11月5日 dt.getdatetimeformats('f')[0].tostring();//2005年11月5日 14:06 dt.getdatetimeformats('g')[0].tostring();//2005-11-5 14:06 dt.getdatetimeformats('r')[0].tostring();//sat, 05 nov 2005 14:06:25 gmt string.format("{0:d}",dt);//2005-11-5 string.format("{0}",dt);//2005年11月5日 string.format("{0:f}",dt);//2005年11月5日 14:23 string.format("{0:f}",dt);//2005年11月5日 14:23:23 string.format("{0:g}",dt);//2005-11-5 14:23 string.format("{0:g}",dt);//2005-11-5 14:23:23 string.format("{0:m}",dt);//11月5日 string.format("{0:r}",dt);//sat, 05 nov 2005 14:23:23 gmt string.format("{0:s}",dt);//2005-11-05t14:23:23 string.format("{0:t}",dt);//14:23 string.format("{0:t}",dt);//14:23:23 string.format("{0:u}",dt);//2005-11-05 14:23:23z string.format("{0:u}",dt);//2005年11月5日 6:23:23 string.format("{0:y}",dt);//2005年11月 string.format("{0}",dt);//2005-11-5 14:23:23 string.format("{0:yyyymmddhhmmssffff}",dt);
计算2个日期之间的天数差
datetime dt1 = convert.datetime("2007-8-1"); datetime dt2 = convert.datetime("2007-8-15"); timespan span = dt2.subtract(dt1); int daydiff = span.days + 1;
计算某年某月的天数
int days = datetime.daysinmonth(2007, 8); days = 31;
给日期增加一天、减少一天
datetime dt =datetime.now; dt.adddays(1); //增加一天 dt.adddays(-1);//减少一天
其它年份方法类似...
oracle sql里转换日期函数
to_date("2007-6-6",'yyyy-mm-dd"); to_date("2007/6/6",'yyyy/mm/dd");
ps:这里再为大家推荐几款日期与时间相关工具供大家参考使用:
在日期天数差计算器:
在线日期计算器/相差天数计算器:
在线日期/天数计算器:
在线阴历/阳历转换工具:
在线天数计算器(flash版):