关于把字符串转换成日期格式的问题

hcpbc 2008-12-05 11:01:24
想把文本框中的字符串转换成日期格式

比如

20080901

转成

2008-09-01

应该怎么写代码呀?
...全文
411 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
XIEWH 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hcpbc 的回复:]
3楼的,应该是这样的格式才能转的吧?
string dd= "2008-09-01";
DateTime dt= DateTime.ParseExact(dd, "yyyyMMdd", null);
[/Quote]
你不会试一下么?
hcpbc 2008-12-05
  • 打赏
  • 举报
回复
3楼的,应该是这样的格式才能转的吧?
string dd= "2008-09-01";
DateTime dt= DateTime.ParseExact(dd, "yyyyMMdd", null);
XIEWH 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 Tiger_ldy 的回复:]
2楼的 做法是可以 但是会出现0:00:00也就是时间;
[/Quote]
汗,你ToShortDateString()一下不就行了
Tiger_ldy 2008-12-05
  • 打赏
  • 举报
回复
2楼的 做法是可以 但是会出现0:00:00也就是时间;
kfps8kfps8 2008-12-05
  • 打赏
  • 举报
回复
没看清需求,上面我的回答lz请屏蔽
kfps8kfps8 2008-12-05
  • 打赏
  • 举报
回复
convert(varchar(10),'20080901 ',23)
cyqlightrain 2008-12-05
  • 打赏
  • 举报
回复
2楼好方法.
hhxxcj 2008-12-05
  • 打赏
  • 举报
回复
用Substring截取字符串,再把它联起来就行了
jiang_jiajia10 2008-12-05
  • 打赏
  • 举报
回复

string strrq = "20080901"
string strN = "";
string strY = "";
string strr = "";
strN = strrq.Substring(0, 4);
strY = strrq.Substring(4, 2);
strr = strrq.Substring(6, 2);
strN = strN.PadRight(5, '-');
strY = strY.PadRight(3, '-');
string strrqtext= strN + strY + strr;
XIEWH 2008-12-05
  • 打赏
  • 举报
回复
上面错了....
string dd= "20080901";
DateTime dt= DateTime.ParseExact(dd, "yyyyMMdd", null);
XIEWH 2008-12-05
  • 打赏
  • 举报
回复
        string dd= "20080901 ";
DateTime dt= DateTime.ParseExact(dd, "yyyy-MM-dd", null);
zqchen99 2008-12-05
  • 打赏
  • 举报
回复
UPPPPP
hcpbc 2008-12-05
  • 打赏
  • 举报
回复
谢谢大家的帮助,终于知道错在什么地方了,就是"yyMMdd"这里,我全部用大写了,“YYMMDD”所以才出错的。特别要谢谢XIEWH,很有耐心
llsen 2008-12-05
  • 打赏
  • 举报
回复
截取字符串
太麻烦了吧


直接这样好了

Convert.ToDateTime("20080901").ToString("YYYY-MM-DD");
yaoleshi 2008-12-05
  • 打赏
  • 举报
回复
答案 多多

我就来接分
zpcoder 2008-12-05
  • 打赏
  • 举报
回复
string dd= "20080901";
DateTime dt= DateTime.ParseExact(dd, "yyyyMMdd", null);
Response.Write(dt.ToShortDateString());
XIEWH 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 hcpbc 的回复:]
上面的“YYYYMMDD”改成”YYYY-MM-DD"
[/Quote]
DateTime.ParseExact()方法可以自己定义格式化字符串的,像下面这样的也可以

string dd = "2008<br>09<xx>01";
DateTime dt = DateTime.ParseExact(dd, "yyyy<br>MM<xx>dd", null);
hcpbc 2008-12-05
  • 打赏
  • 举报
回复
上面的“YYYYMMDD”改成”YYYY-MM-DD"
hcpbc 2008-12-05
  • 打赏
  • 举报
回复
我是取文本框的输入值,然后来比较2个日期的先后

string aa=TextBox1.Text
string bb=TextBox2.Text

DateTime dt1= DateTime.ParseExact(aa, "yyyyMMdd", null);
DateTime dt2= DateTime.ParseExact(bb, "yyyyMMdd", null);

if(dt1>dt2)
{
…………
}

是我上面这段代码有问题吗?
XIEWH 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 hcpbc 的回复:]
试过了,出现“该字符串未被识别为有效的datetime"
[/Quote]
不可能的,我试都没问题
加载更多回复(2)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧