-2
我想下面的字符串转换为Date类型在C#中,字符串转换为日期C#
"Q2(JUN)-2016"
to
Q2-2016 (which is of date type)
结果应该是最新型的,它应该指出quarter2。
我想下面的字符串转换为Date类型在C#中,字符串转换为日期C#
"Q2(JUN)-2016"
to
Q2-2016 (which is of date type)
结果应该是最新型的,它应该指出quarter2。
你可以首先将其解析到DateTime
,然后使用一个简单的计算来获得季度:
string quarterInfo = "Q2(JUN) - 2016";
DateTime monthDt; // will be parsed to: 06/01/2016 00:00:00
if (DateTime.TryParseExact(
quarterInfo.Substring(quarterInfo.IndexOf('(') + 1),
"MMM) - yyyy",
DateTimeFormatInfo.InvariantInfo,
DateTimeStyles.None,
out monthDt))
{
int year = monthDt.Year;
int quarter = (monthDt.Month + 2)/3;
Console.WriteLine("Q{0}-{1}", quarter, year); // Q2-2016
}
你是什么意思“这是最新型的”是什么意思?就我所知,.NET BCL中没有类型表示“2016第2季度”。 (无论如何,这种类型不会称为“日期”,因为四分之一不是日期......) –
我指的是可以表示为四分之一的日期。 – Prasu
但是四分之一*不是日期。这就像说“范围1-10是一个整数”。你的意思是哪一种?或者你问在.NET中是否有这种类型? (据我所知,没有,但你可以创建自己的。) –