我有以下字符串,我需要将其解析为一个日期。2016年9月23日(星期五)下午三时至八时
我在n-破折号上拆分它,然后我需要使用格式字符串的ParseExact。我试过以下几种方法。"dddd',‘MMMM’,‘yyyy’“"dddd,MMMM,yyyy”“”"ddd,MMMM,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:00-8:00,因为我有处理它在其他地方,因为它是一个范围。
提前感谢
发布于 2016-02-15 23:41:14
在编写答案时,所有内容都出现在注释中(出于某种原因),但这里有一个可以测试的工作版本:
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);发布于 2016-02-16 00:36:07
https://stackoverflow.com/questions/35420970
复制相似问题