如何将字符串变为datetime

Gangxintang 2011-12-19 10:42:28

DateTime da =Convert.ToDateTime("2011-08-09");
Response.Write("<br/>制造时间:" + da.ToString());

string da1 = da.ToString("yyyyMMdd");
Response.Write("<br/>处理后:" + da1);

//再处理回去
现在我要把da1变回da 问如何做到。


...全文
112 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
香儿爱土豆 2011-12-19
  • 打赏
  • 举报
回复
我提供一种扩展方法,让你代码更具活性:

namespace Extends
{
public static DateTime TryPraseDateTime(this string date,string format,out bool successful)
{
DateTime result=new DateTime();

try
{
result=DateTime.PraseExact(date,format,null);
successful=true;
}
catch
{
successful=false;
}

return result;
}
}

使用扩展方法的程序集引用上面的程序集,并在类里面:using Extends;

接下来你的代码就可以这样写了:
bool result=false;
DateTime dt="20111219".TryPraseDateTime("yyyyMMdd",out result);
tangxingangtom 2011-12-19
  • 打赏
  • 举报
回复
各种原因,各种问题。我觉得我给分的回答是我最需要的。

我也会使用substring截取,但还是那句 各种原因,各种问题。
CalvinR 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 maco_wang 的回复:]

C# code

DateTime da = Convert.ToDateTime("2011-08-09");
Response.Write("<br/>制造时间:" + da.ToString());

string da1 = da.ToString("yyyyMMdd");
Response.Write("<br/>处理后……
[/Quote]
叶子大哥真快 ! 我还没来得及写 你就写出来了
楼主你找这些就OK了
CalvinR 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 gangxintang 的回复:]

引用 3 楼 luoweihua7 的回复:
自己都写了。。。。

DateTime da =Convert.ToDateTime(da1);


这个很明显会报错 因为da1是 20110809
[/Quote]
你这个Substring一下就可以了啊
叶子 2011-12-19
  • 打赏
  • 举报
回复

DateTime da = Convert.ToDateTime("2011-08-09");
Response.Write("<br/>制造时间:" + da.ToString());

string da1 = da.ToString("yyyyMMdd");
Response.Write("<br/>处理后:" + da1);

DateTime da2 = DateTime.Parse(da1.Substring(0,4)+'-'+da1.Substring(4,2)+'-'+da1.Substring(6,2));
Response.Write("<br/>还原后:" + da2.ToString());
/*
制造时间:2011-8-9 0:00:00
处理后:20110809
还原后:2011-8-9 0:00:00
*/
Gangxintang 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sandy945 的回复:]
DateTime.ParseExact(da1,"yyyyMMdd",null)
[/Quote]

恭喜 兄弟,一百分是你的了。
liuleiyu121520 2011-12-19
  • 打赏
  • 举报
回复
如果是固定的话可以通过截取字符串中间加上'-'然后再转。期待更好的办法。学习
踏雪听雨 2011-12-19
  • 打赏
  • 举报
回复
20110501是日期么?
如果不是,是不是要加一个分隔符,再转换
Gangxintang 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 luoweihua7 的回复:]
自己都写了。。。。

DateTime da =Convert.ToDateTime(da1);
[/Quote]

这个很明显会报错 因为da1是 20110809
  • 打赏
  • 举报
回复
      DateTime da = Convert.ToDateTime("2011-08-09");
string da1 = da.ToString("yyyyMMdd");

DateTime dt;
DateTime.TryParseExact(da1, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.AdjustToUniversal, out dt);
//+ dt {2011-8-9 0:00:00} System.DateTime
CalvinR 2011-12-19
  • 打赏
  • 举报
回复
你写的出什么问题了?
阿非 2011-12-19
  • 打赏
  • 举报
回复
DateTime.ParseExact(da1,"yyyyMMdd",null)
liuleiyu121520 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 gangxintang 的回复:]
C# code


DateTime da =Convert.ToDateTime("2011-08-09");
Response.Write("<br/>制造时间:" + da.ToString());

string da1 = da.ToString("yyyyMMdd");
Response.Write("<br/>处理后:" + da1);

//再处理回去
现在我要……
[/Quote]
DateTime.Parse(da1)
accomp 2011-12-19
  • 打赏
  • 举报
回复
Convert.ToDateTime(String, IFormatProvider)
hnfeitianwugui 2011-12-19
  • 打赏
  • 举报
回复
Convert.ToDateTime()你自个不是写了吗?
V-Far 2011-12-19
  • 打赏
  • 举报
回复
自己都写了。。。。

DateTime da =Convert.ToDateTime(da1);
sunguanbin2010 2011-12-19
  • 打赏
  • 举报
回复
DateTime da =Convert.ToDateTime("2011-08-09");
Response.Write("<br/>制造时间:" + da.ToString());

string da1 = da.ToString("yyyyMMdd");
Response.Write("<br/>处理后:" + da1);

Gangxintang 2011-12-19
  • 打赏
  • 举报
回复
兄弟们有一百分啊。。谁能给出正确答案。这分都给他一人

62,046

社区成员

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

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

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

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