日期:2014-05-17  浏览次数:20994 次

int 型 转换 datetime 型 (c#)
数据库中的一个字段 表示日期 (但是当初设置的是int) 现在要把它的值抓出来,用textbox来显示
比如数据库中存的是 20101001 
我想要它显示成 2010-10-01  
而且可以参与计算,比如在这个基础上加5天
就是 2010-10-06
int型怎么转换成 datetime 


我在网上查的方法:
DateTime.ParseExact("20131001", "yyyyMMdd", null).ToString("yyyy-MM-dd"); 

可是提示  该字符串未被识别为有效的 DateTime 


------解决方案--------------------
你这个转换的是字符串,还要再转为时间格式 

            string  dd= DateTime.ParseExact("20131001", "yyyyMMdd", null).ToString("yyyy-MM-dd");
            DateTime d = Convert.ToDateTime(dd);


------解决方案--------------------
int time = 20101001;
var str = DateTime.ParseExact(time.ToString(), "yyyyMMdd", null).ToString("yyyy-MM-dd");
MessageBox.Show(str);//输出2010-10-01
//+5天
MessageBox.Show(DateTime.Parse(str).AddDays(5).ToString("yyyy-MM-dd"));//输出2010-10-06

------解决方案--------------------
引用:
 int  II = 20131001;
            string s = II.ToString();
            string s1 = s.Substring(0, 4) + "-" + s.Substring(4, 2) + "-" + s.Substring(6, 2);                    
            
            DateTime ss = Convert.ToDateTime(s1);


二楼好认真的说
------解决方案--------------------
引用:
int time = 20101001;
var str = DateTime.ParseExact(time.ToString(), "yyyyMMdd", null).ToString("yyyy-MM-dd");
MessageBox.Show(str);//输出2010-10-01
//+5天
MessageBox.Show(DateTime.Parse(str).AddDays(5).ToString("yyyy-MM-dd"));//输出2010-10-06


额,,不是要在textbox里显示么,不是单纯的输出和做加法啊
------解决方案--------------------
方法是这样,看楼主怎么个应用了,写程序就是方法与思路。
------解决方案--------------------
这样的,我一般都是Convert.ToDateTime转化成时间,至于加天,加月什么的,DateTime自带这样的函数,如AddMonth等等。
输出的调用ToString("yyyy-MM-dd HH:mm:ss.fff"),这个输出结果是2013-11-13 12:10:12.234 这样的,你也可以在"yyyy-MM-d