0

我有各种类型的字符串:7/12/2012 12:02:39 AM 并且想将它们全部转换为7/12/2012 12:00:00 AM 基本上日期需要相同,只是时间必须设置为 12:00:00 AM。

解决这个问题的最佳方法是什么?除了只是寻找“”并替换为 12:00:00 AM

4

3 回答 3

2

首先,将它们解析为DateTime. 然后您可以使用Dateproperty(0h) 并将其解析回 aString通过使用DateTime.ToString

var oldDate = DateTime.Parse("7/12/2012 12:02:39 AM");
var usCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
var newDateStr = oldDate.Date.ToString( usCulture );

自定义日期和时间格式字符串

才注意到那12 AM是午夜而不是中午

您可以通过以下方式创建新DateTime实例constuctor

var newDate = new DateTime(oldDate.Year, oldDate.Month, oldDate.Day, 12, 0, 0); 

或在 DateTime(0h) 的日期部分添加 12 小时:

var newDate = oldDate.Date.AddHours(12);

于 2012-07-23T13:18:35.883 回答
1
  1. 将它们解析为DateTime
  2. 使用将它们写回字符串yourDateTime.Date.ToString(@"G", CultureInfo.CreateSpecificCulture("en-us"))
于 2012-07-23T13:19:03.920 回答
0

使用DateTime.Parse并指定CulterInfo

DateTime mydat = DateTime.Parse(myString, CultureInfo.InvariantCulture);
于 2012-07-23T13:20:16.077 回答