【问题标题】:Display datetime into MM/dd/yyyy HH:mm format c#将日期时间显示为 MM/dd/yyyy HH:mm 格式 c#
【发布时间】:2013-04-15 14:38:16
【问题描述】:

在数据库中,日期时间存储在 MM-dd-yyyy HH:mm:ss fromat 中。
但是,我想以“MM/dd/yyyy HH:mm”格式显示日期时间。 我通过使用 String.Format() 进行了尝试。

txtCampaignStartDate.Text = String.Format("{0:MM/dd/yyyy 
                           HH:mm}",appCampaignModel.CampaignStartDateTime);

这里 appCampaignModel.CampaignStartDateTime 是 DateTime 对象,具有 "MM-dd-yyyy HH:mm" 格式的值。

我想以 "MM/dd/yyyy HH:mm" 格式显示。

谁能帮我解决这个问题?

【问题讨论】:

  • 为什么不把- 替换成/ 呢?
  • 不要以某种格式存储日期时间,这意味着您将它们存储为 (n)varchar。请改用datetime
  • 日期时间是否真的存储为文本,或者日期时间字段的数据类型实际上是datetime,而您只是看到它像您一样显示?
  • 否,字段类型仅为日期时间。我没有把它当作varchar。

标签: c# asp.net datetime


【解决方案1】:

这种格式的斜杠MM/dd/yyyy HH:mm 的意思是:“用当前文化的实际分隔符替换我”。您必须明确使用CultureInfo.InvariantCulture

txtCampaignStartDate.Text = appCampaignModel.CampaignStartDateTime.ToString("MM/dd/yyyy HH:mm", CultureInfo.InvariantCulture);

The "/" Custom Format Specifier

在数据库中,日期时间存储在 MM-dd-yyyy HH:mm:ss fromat 中。

不要将datetimes 存储为意味着您将它们存储为(n)varchar 的格式。请改用datetime

【讨论】:

  • 谢谢蒂姆。:)它对我有用。是的,我只采用了日期时间数据类型。
【解决方案2】:
txtCampaignStartDate.Text = appCampaignModel.CampaignStartDateTime
                                         .ToString().Replace("-","/");

String.Format("{0:MM/dd/yyyy HH:mm}", dt);

检查:String Format for DateTime [C#]

String date = dt.ToString("MM/dd/yyyy HH:mm", DateTimeFormatInfo.InvariantInfo);

DateTime.ToString Method (String, IFormatProvider)

【讨论】:

  • 我尝试使用 String.Format("{0:MM/dd/yyyy HH:mm:ss}", dt) 但它对我不起作用。
【解决方案3】:

为什么不只是简单的替换?

txtCampaignStartDate.Text = BadString.Replace("-","/");

【讨论】:

    【解决方案4】:

    尝试使用添加的文化信息:

    CultureInfo ci = new CultureInfo("en-US");
    txtCampaignStartDate.Text = 
        appCampaignModel.CampaignStartDateTime.ToString("MM/dd/yyyy HH:mm", ci);
    

    附言使用的文化信息就是一个例子。

    【讨论】:

      【解决方案5】:

      以您指定的格式显示您的日期:

      txtCampaignStartDate.Text = appCampaignModel.CampaignStartDateTime.ToString("g",DateTimeFormatInfo.InvariantInfo)
      

      对于更多的日期时间格式,你可以通过这个link.

      【讨论】:

        【解决方案6】:

        既然你已经有了一个 DateTime 对象,就随心所欲地 ToString 吧:

        appCampaignModel.CampaignStartDateTime.ToString("MM/dd/yyyy HH:mm");
        

        【讨论】:

          猜你喜欢
          • 2015-10-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-18
          • 1970-01-01
          • 2023-03-15
          • 2015-05-20
          相关资源
          最近更新 更多