gpt4 book ai didi

c# - 转换字符串 Ex : "Friday, 11 of november of 2022" to DateTime C#

转载 作者:行者123 更新时间:2023-12-02 01:26:18 24 4
gpt4 key购买 nike

编辑:我正在使用 ExcelDataReader.DataSet 读取 Excel 报表并读取字符串单元格以转换为日期时间。添加了一张图片,显示带有字符串的单元格所在的位置

DataTable Visualizer

dataSet = reader.AsDataSet();
DataTable = dataTable = dataSet.Tables[0];
foreach (DataRow fila in dataTable.Rows)
{
// "Miercoles, 16 de Noviembre de 2022 15:21"
string dateString = fila["Column18"].ToString();
// I remove the hour as is not necessary
dateString = dateString.Remove(dateString.Length-7);
string format = @"dddd, d \o\f MMMM \o\f yyyy";
var date = DateTime.ParseExact(dateString, format, CultureInfo.CreateSpecificCulture("en-PY"));
Console.WriteLine(date);
}

但是我得到了这个错误格式异常:

  •   $exception  {"The string 'Miercoles, 16 de Noviembre de 2022  15:21' was not recognized as a valid DateTime. There is an unknown word starting at index '0'."}  System.FormatException

最佳答案

您可以转义 of (de) 字符串并为每个部分使用正确的格式说明符:

    string dateString = "Tuesday, 7 of March of 2023";
string format = @"dddd, d \o\f MMMM \o\f yyyy";
var date = DateTime.ParseExact(dateString, format, CultureInfo.CreateSpecificCulture("en-US"));
Console.WriteLine(date);

或西类牙语版本:

string dateString = "Martes, 7 de Marzo de 2023";
string format = @"dddd, d \d\e MMMM \d\e yyyy";
var date = DateTime.ParseExact(dateString, format, CultureInfo.CreateSpecificCulture("es-MX"));

请注意,2023 年 3 月 7 日是星期二,而不是星期三,因此示例的解析将失败,因为它是一周中的错误日期。

关于c# - 转换字符串 Ex : "Friday, 11 of november of 2022" to DateTime C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74538635/

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