当我需要将日期插入数据库时,我需要检查两件事:
- 如果选择了第 31 天,则本月有 31 天
- 如果选择了 2 月,我需要检查它是否是闰年,以防用户选择 29
目前,我正在使用一个用if's
and填充的长函数来检查它else's
。
在我插入日期之前,有什么方法C#
可以检查日期是否有效?
当我需要将日期插入数据库时,我需要检查两件事:
目前,我正在使用一个用if's
and填充的长函数来检查它else's
。
在我插入日期之前,有什么方法C#
可以检查日期是否有效?
DateTime temp;
if (DateTime.TryParse(yourString, out temp))
{
//valid, use temp to insert into DB.
}
else
{
//not valid.
}
闰年验证
static void Main(string[] args)
{
try
{
Console.Write("Please Enter the Year: ");
int year = int.Parse(Console.ReadLine());
if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))
{
Console.WriteLine("The year {0}, is a Leap Year", year);
}
else
{
Console.WriteLine("The year {0}, is not a Leap Year", year);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
或者只是你可以使用
if (DateTime.IsLeapYear(year))
{
//your logic
}
else
{
}
如果你有三个整数years
,months
和days
,首先检查它years
在1
和之间9999
,然后检查它months
在1
和之间12
,最后检查它days
在1
和之间DateTime.DaysInMonth(years, months)
。
补充:如果是用于数据库存储,根据具体的 SQL 列类型,有效年份的范围可能会更窄,例如1753
通过9999
. 无论如何,所谓的“预知”公历并不是历史正确的,它是一种“外推”。
根据该年是否为闰年,将二月的值设置为 28 或 29。
if (currentDate.Month == 2 && DateTime.IsLeapYear(currentDate.Year))
{
//your logic to work on february month
}
else
{
}