我有各种类型的字符串:7/12/2012 12:02:39 AM
并且想将它们全部转换为7/12/2012 12:00:00 AM
基本上日期需要相同,只是时间必须设置为 12:00:00 AM。
解决这个问题的最佳方法是什么?除了只是寻找“”并替换为 12:00:00 AM
首先,将它们解析为DateTime
. 然后您可以使用Date
property(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);
DateTime
yourDateTime.Date.ToString(@"G", CultureInfo.CreateSpecificCulture("en-us"))
使用DateTime.Parse
并指定CulterInfo
DateTime mydat = DateTime.Parse(myString, CultureInfo.InvariantCulture);