[英]C# Check given date and time
今天是個好日子。 我是 C# 新手,但我似乎無法理解 DateTime 是如何工作的。 我想要做的就是檢查 If a ( givenday ) = today and time is 7pm I want to return true. 這是正確的方法嗎?
注意ActionDate是用戶輸入的字段。
DateTime dateA = Convert.ToDateTime(ActionDate);
int a = dateA.Year;
int b = dateA.Month;
int c = dateA.Day;
int d = timeA.Hour;
int e = timeA.Minute;
var newDate = new DateTime(a, b, c, d, e, 0);
DateTime end = Convert.ToDateTime(newDate);
DateTime start = Convert.ToDateTime(A);
TimeSpan span = end.Subtract(start);
Decimal minutes = Convert.ToDecimal(span.TotalMinutes);
if
{
return true;
} else
{
return false;
}
先感謝您。
檢查給定日期是否是今天和晚上 7 點的方法是使用DateTime.Now
。
請注意, 19
是晚上7
點, 7
是早上7
點, Hour
屬性使用 24 小時格式。
bool IsCurrentDayAnd7(DateTime dt) => dt.Date == DateTime.Now.Date && dt.Hour == 19;
正如@TimSchmelter 評論的那樣,您可以使用DateTime.Today
:
bool IsCurrentDayAnd7(DateTime dt) => dt.Date == DateTime.Today && dt.Hour == 19;
你的代碼有點太復雜了。 首先,將該用戶輸入轉換為日期,並將其與當前日期和時間進行比較。
DateTime dateA = Convert.ToDateTime(ActionDate);
if (dateA.Date == DateTime.Today && dateA.Hour == 19)
{
//it is current date and hour is 7pm
}
或者,檢查用戶的輸入是否正常,如下所示:
DateTime dateA;
if (!DateTime.TryParse(ActionDate, out dateA))
{
//alert user that he's entered wrong date
}
編輯:正如 Tim Schmelter 所指出的,使用DateTime.Today
而不是DateTime.Now.Date
代碼更具可讀性
您可以使用Date
屬性將日期與當前日期進行比較。
if (newDate.Date == DateTime.Now.Date && newDate.Hour == 19)
{
return true;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.