当我需要在数据库中插入日期时,我需要检查两件事:
目前,我正在使用填充if's
和else's
的长函数来检查此内容。
C#
中是否有任何方法可以在插入之前检查日期是否有效?
答案 0 :(得分:1)
DateTime temp;
if (DateTime.TryParse(yourString, out temp))
{
//valid, use temp to insert into DB.
}
else
{
//not valid.
}
答案 1 :(得分:0)
闰年验证
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
{
}
答案 2 :(得分:0)
如果您有三个整数years
,months
和days
,请先检查years
是否在1
和9999
之间,然后检查months
介于1
和12
之间,最后检查days
是否在1
和DateTime.DaysInMonth(years, months)
之间。
添加:如果是用于数据库存储,则根据特定的SQL列类型,有效年份的范围可能会更窄,例如: 1753
到9999
。无论如何,所谓的“预感”格里高利历不是历史正确的,它是一种“推断”。
答案 3 :(得分:0)
将2月份的值设置为28或29,具体取决于该年份是否为闰年。
if (currentDate.Month == 2 && DateTime.IsLeapYear(currentDate.Year))
{
//your logic to work on february month
}
else
{
}