Convert.ToDateTime 无法转换日/月/年



格式:日/月/年- c#

Console.WriteLine(Convert.ToDateTime("28.12.2022 13:45:04")); //Error

系统。FormatException:字符串未被识别为有效的日期时间

我找不到解决办法。你能帮我吗?

DateTime。ParseExact将日期和时间的指定字符串表示形式转换为其等效的DateTime。

DateTime dt= DateTime.ParseExact("28.12.2022 13:45:04", "dd.MM.yyyy HH:mm:ss",
CultureInfo.InvariantCulture);
Console.WriteLine(dt);

指定与日期/时间格式相对应的区域性。例子:

CultureInfo culture = CultureInfo.GetCultureInfo("de-DE");
var date = DateTime.Parse(dateString, culture);

然而,使用TryParseParse更安全:

If (DateTime.TryParse(dateString, culture, out var date)) {
Console.WriteLine(date);
} else {
Console.WriteLine("Invalid date format");
}

注意,ParseTryParse识别的格式范围比ParseExactTryParseExact更大。例如,如果缺少时间部分或日期包含月份名称,前者也可以工作。

参见:何时使用CultureInfo.GetCultureInfo(String)或CultureInfo.CreateSpecificCulture(String)

你可以得到像" 28/12/2022 " "一个字符串。使用;

yourDateTime.Value.ToShortDateString();

关于计算机设置的本地化。它可以改变你的日期格式类型。你可以使用;

yourDatetime.Value.ToString("dd/MM/yyyy");

String to DateTime

DateTime dt= DateTime.ParseExact("datetimeString", "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);

最新更新