2011-03-01 104 views
5

net 4和c#。转换日期时间格式

我有一个文本框DateTimeValue

3/1/2011 12:00:00 AM 

我需要将其转换这种格式的字符串:

Format="yyyy-MM-dd" 

任何想法,该怎么办呢? PS:我可以删除了时间

感谢您的时间

回答

7

使用DateTime.ParseExact像这样:

DateTime.ParseExact("3/1/2011 12:00:00 AM", "G", 
      CultureInfo.GetCultureInfo("en-US")).ToString("yyyy-MM-dd"); 

确保指定的文化,这是因为你使用的格式不明确。

+0

+1:为文化信息 – 2011-03-01 09:02:33

2

这是什么原因你要求的信息?

DateTime.Parse("3/1/2011 12:00:00 AM").ToString("yyyy-MM-dd") 
+0

-1:文化信息丢失! – 2011-03-01 08:57:03

+0

够公平的...... – 2011-03-01 08:57:14

+0

看到我的评论。这是危险的代码,因为它取决于用户的本地设置。大多数其他答案都有同样的问题,但是你们被选为唯一的答案,所以我只是低估了你们的答案。 – 2011-03-01 08:58:21

0

试试这个

Convert.ToDateTime(Text1.Text)的ToString( “YYYY-MM-DD”)

+1

那么,dt和ds是什么? – balexandre 2011-03-01 08:53:23

+0

不好:文化信息丢失! – 2011-03-01 09:00:31

0

related question。请记住,计算机的区域设置会影响字符串的解释方式。与我的地区(丹麦语),您的日期格式不会使用DateTime.Parse翻译。

+0

这是另一种方式... – 2011-03-01 08:55:21

1

不要忘记包含命名空间:System.Globalization以访问CultureInfo。

例如:using System.Globalization; // for CultureInfo

0

串DT = DateTime.Now.Year.ToString()+ “ - ” + DateTime.Now.Month.ToString()+ “ - ” + DateTime.Now.Day.ToString( );