转换为常规日期、时间和上午或下午

Convert to regular date, time and AM or PM

我正在尝试以这种格式转换返回给我的日期:

2022-02-09T14:43:32

我正在努力让它看起来像这样

2022/9/22:43PM

我试过了,但它说它不是有效格式。

workRow["ShiftStart"] = DateTime.ParseExact(theTempsDataSet.Tables[0].Rows[i]["shiftStartTime"].ToString(), "dd/mm/yyyy hh:mmtt", CultureInfo.InvariantCulture).ToString();

您只需使用正确的日期时间格式即可:

DateTime date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500); Console.WriteLine(date1.ToString("MM/dd/yyyy hh:mm tt",CultureInfo.CreateSpecificCulture("en-US")));

阅读: https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings#tSpecifier

ParseExact 应该有日期格式来解析文件中的日期。所以,它应该有“yyyy-MM-ddTHH:ss:mm”日期格式。解析后为 DateTime 类型。要将其转换回字符串,您可以对其调用 .ToString("dd/mm/yyyy hh:mmtt")。其中 "dd/mm/yyyy hh:mmtt" 是您的自定义日期格式

试试这个

var dtStr="2022-02-09T14:43:32";
var dt=  DateTime.Parse(dtStr);
dtStr = dt.ToString("M/d/yyyy h:mmtt", CultureInfo.InvariantCulture);

或谁爱一行

var dt=  DateTime.Parse("2022-02-09T14:43:32").ToString("M/d/yyyy h:mmtt", CultureInfo.CreateSpecificCulture("en-US"));