在插入数据库之前验证日期(是否为闰年)
本文关键字:是否 闰年 日期 验证 插入 数据库 | 更新日期: 2023-09-27 18:18:25
当我需要将日期插入数据库时,我需要检查两件事:
- 如果这个月有31天,选择31天
- 如果选择二月,我需要检查它是否是闰年,如果用户选择29
目前我正在使用一个充满if's
和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
{
}