【问题标题】:Convert DateTime Format转换日期时间格式
【发布时间】:2011-03-01 08:48:37
【问题描述】:

net 4 和 c#。

我在文本框中有 DateTimeValue

3/1/2011 12:00:00 AM

我需要把它转换成这种格式的字符串:

Format="yyyy-MM-dd"

知道怎么做吗? PS:我可以删除有关时间的信息

感谢您的宝贵时间

【问题讨论】:

    标签: c# asp.net datetime


    【解决方案1】:

    像这样使用DateTime.ParseExact

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

    请务必指定文化,因为您使用的格式不明确。

    【讨论】:

      【解决方案2】:

      这是你要的吗?

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

      【讨论】:

      • 查看我的评论。这是危险代码,因为它取决于用户的本地设置。大多数其他答案都有同样的问题,但你的答案被选为唯一的答案,所以我只对你的答案投了反对票。
      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        试试这个

        Convert.ToDateTime(Text1.Text).ToString("yyyy-MM-DD")

        【讨论】:

        • 那么,dtds 是什么?
        【解决方案5】:

        related question。请记住,计算机的区域设置会影响解释字符串的方式。对于我所在的地区(丹麦语),您的日期格式不会使用 DateTime.Parse 进行转换。

        【讨论】:

          【解决方案6】:

          看看:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

          有几种选择,一个例子:

          DateTime date = new DateTime(2011, 3, 1);
          date.ToString("yyyy-MM-dd")
          

          【讨论】:

            【解决方案7】:

            字符串 dt = DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Day.ToString();

            【讨论】:

              猜你喜欢
              • 2011-08-20
              • 1970-01-01
              • 2012-03-27
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多