gpt4 book ai didi

c# - 将字符串解析为 DateTime 格式 "day, month dat, year"

转载 作者:太空宇宙 更新时间:2023-11-03 21:14:25 25 4
gpt4 key购买 nike

我有以下字符串,我需要将其解析为日期。2016 年 9 月 23 日星期五下午 3 点至晚上 8 点

我在 n-dash 上拆分它,然后我需要将 ParseExact 与格式字符串一起使用。我尝试了以下内容。“dddd','MMMM dd','yyyy”“dddd,MMMM dd,yyyy”“dddd MMMM dd yyyy”“ddd, MMMM dd, yyyy”

我意识到这与长期日期很相似,但我需要非本地人。这是我制作并正在尝试使用的功能。

public DateTime parseDate(string s, string dateString)
{
var splitAr = s.Split((char)8211);
var dPart = new DateTime();
try
{
dPart = DateTime.ParseExact(splitAr[0].Trim(), dateString, CultureInfo.InvariantCulture);
}
catch (Exception e)
{
Trace.TraceWarning("Wasn't able to parse this date string so used try." + splitAr[0]);
DateTime.TryParse(splitAr[0].Trim(), out dPart);
}
var timeArray = splitAr[1].Split('-');

return d;
}

如果有人能看到我从我抓取的网页中提取字符串的问题。

我试图将其简化为简单。我这样调用它。

var result = objToTest.parseDate("Friday, Sept 23, 2016 – 3pm - 8pm", "dddd, MMMM dd, yyyy");

我只需要实际日期而不是下午 3 点到晚上 8 点,因为我已经在其他地方处理了它,因为它是一个范围。

提前致谢

最佳答案

在写答案时,所有内容都出现在评论中(出于某种原因),但这里有一个您可以测试的工作版本:

var str = "Friday, Sept 23, 2016 – 3pm - 8pm";

var cultureInfo = new CultureInfo("en-US");
cultureInfo.DateTimeFormat.AbbreviatedMonthNames = new[]
{ "Jan", "Feb", "Mar",
"Apr", "May", "Jun",
"Jul", "Aug", "Sept",
"Oct", "Nov", "Dec", "" };

var result = DateTime.ParseExact(str.Split('–').First().Trim(), "dddd, MMM dd, yyyy", cultureInfo);

关于c# - 将字符串解析为 DateTime 格式 "day, month dat, year",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35420970/

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