3

在数据库中,日期时间存储在 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);

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

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

任何人都可以帮助我吗?

4

6 回答 6

10

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

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

“/”自定义格式说明符

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

不要datetimes以格式存储,这意味着您将它们存储为(n)varchar. 改为使用datetime

于 2013-04-15T14:42:39.933 回答
5
txtCampaignStartDate.Text = appCampaignModel.CampaignStartDateTime
                                         .ToString().Replace("-","/");

或者

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

检查:日期时间的字符串格式 [C#]

或者

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

DateTime.ToString 方法(字符串,IFormatProvider)

于 2013-04-15T14:41:11.607 回答
2

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

txtCampaignStartDate.Text = BadString.Replace("-","/");
于 2013-04-15T14:40:39.427 回答
1

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

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

对于更多日期时间格式,您可以通过此链接。

于 2013-04-15T15:05:12.207 回答
1

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

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

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

于 2013-04-15T14:42:29.050 回答
0

由于您已经有一个 DateTime 对象,因此只需 ToString 即可:

appCampaignModel.CampaignStartDateTime.ToString("MM/dd/yyyy HH:mm");
于 2013-04-15T14:44:02.240 回答