簡體   English   中英

C# 檢查給定的日期和時間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM