C# string格式的日期时间字符串转为DateTime类型的方法
方法一: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");
推荐阅读
-
C#、.Net中把字符串(String)格式转换为DateTime类型的三种方法
-
C# string格式的日期时间字符串转为DateTime类型的方法
-
python日期时间转为字符串或者格式化输出的实例
-
C# 读取Sqlite数据库的Datetime类型 会报错(时间格式不正确)
-
C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串的方法
-
C#实现将字符串转换成日期格式的方法
-
C# string格式的日期时间字符串转为DateTime类型的方法
-
js时间戳转为日期格式的方法
-
C# 读取Sqlite数据库的Datetime类型 会报错(时间格式不正确)
-
js时间戳转为日期格式的方法