gpt4 book ai didi

c# - 将现有日期转换为另一个日期 c#

转载 作者:太空宇宙 更新时间:2023-11-03 23:31:00 24 4
gpt4 key购买 nike

想要传递字符串值 8/26/2015 8:00:00 PM 以转换为2015-08-26 20:00:00.000 在 SQL 中。

但在我这样做之前,

string was not recognized as a valid datetime.

DateTime clock = Clockval.StartTime.Value.Add(Clock.StartTime.Value.TimeOfDay);
theStartTimeConvert = DateTime.ParseExact(clock.ToString(), "dd/MM/yyyy HH:mm:ss tt", null).ToString("MMM. dd, yyyy HH:mm:ss");

我是否输入了错误的代码?还有其他替代方法可以从 DateTime 转换为 2015-08-26 20:00:00.000 吗?

最佳答案

首先,M 自定义格式说明符将月份表示为从 1 到 12 的数字。您使用它来解析数字 23。其次,由于您的月份和小时数可以是一位数,因此您应该使用 MH 而不是 MMHH:

var str = "8/26/2015 8:00:00 PM";
var parsedDate = DateTime.ParseExact(str, "M/dd/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
var formattedDate = parsedDate.ToString("MMM. dd, yyyy HH:mm:ss");

如果格式适用于我的 str,但不适用于您的 Clock.StartTime.Value.ToString(); - 我想您可能有问题,那被描述了here .长话短说,有时字符串并不是您所想的那样。有很多 Unicode 字符没有出现在调试表示中。尝试使用此字符串进行解析:

var str = Clock.StartTime.Value.ToString();
var correctDateStr= new String(str
.ToCharArray()
.Where(c => c <= 255)
.ToArray());

关于c# - 将现有日期转换为另一个日期 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32217784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com