我正在尝试为datetime提供错误消息。我的意思是,如果datetime不包含表中的所有月份,则应该发出警告。我该怎么做?
例如:日期时间:2017/01/01T00:00:00
,2017/02/01T00:00:00
,... 2017/12/01T00:00:00
,在表格中,我想控制
如果2017/01/01T00:00:00
,2017/02/01T00:00:00
,... 2017/12/01T00:00:00
,则不包含错误。
我想控制
if(datetime != "1.01.2017 00:00:00" && datetime != "1.02.2017 00:00:00" && datetime != "1.03.2017 00:00:00" && datetime != "1.04.2017 00:00:00" && datetime != "1.05.2017 00:00:00" && datetime != "1.06.2017 00:00:00" && datetime != "1.07.2017 00:00:00" && datetime != "1.08.2017 00:00:00" && datetime != "1.09.2017 00:00:00" && datetime != "1.10.2017 00:00:00" && datetime != "1.11.2017 00:00:00" && datetime != "1.12.2017 00:00:00")
{
throw new Error("Please enter all months");
}
但是如何编写更有效的代码?
答案 0 :(得分:0)
你可以尝试这样的事情
DateTime time = Convert.ToDateTime("2016/01/01T00:00:00");
if (time.Year != 2017)
{
throw new Exception("not in 2017");
}
这将检查年份2017
是否会通过,throw exception
修改强>
以字符串计算月数,你可以这样做
int total =0;
var strlist = new [] { "2017 / 01 / 01T00:00:00", "2017 / 02 / 01T00: 00:00" };
foreach (var date in strlist)
{
var datetime = Convert.ToDateTime(date);
if (datetime.Year == 2017)
{
total++;
}
}
if (total <12)
{
throw new Exception("Please enter all months");
}