例如今天20:30會有一些活動。那天早些時候我們賣了票。門票只能在同一天退回。如何指定某些DateTime值是否在C#中的同一天?
有人今天想要退票,不管它是在事件發生之前還是之後,但它應該在那一天。
如何指定某些DateTime值是否在C#中的同一天?
例如今天20:30會有一些活動。那天早些時候我們賣了票。門票只能在同一天退回。如何指定某些DateTime值是否在C#中的同一天?
有人今天想要退票,不管它是在事件發生之前還是之後,但它應該在那一天。
如何指定某些DateTime值是否在C#中的同一天?
DateTime date1 = new DateTime(2013, 6, 27, 7, 47, 0);
// Get date-only portion of date, without its time.
DateTime dateOnly = date1.Date;
if (Date1.Date == Date2.Date)
{ //lucky Day}
else
{ // loser
}
但是,如果你建立一個新的工具。 使用DATETIMEOFFSET
看到現在和今天特性
這是什麼意思「但是,如果你建立一個新的工具,使用DateTimeOffSet」? – tesicg
DateTime本質上很弱。因爲你不知道它所指的時區。如果你有機會只使用DateTimeoffset。這樣你總是知道時間,你可以在任何時區顯示它。這樣服務器可以有一個基地/本地時間。用戶可以有一個當地時間,並且從來沒有一個模棱兩可的解釋。即使DB,例如SQL可以存儲DATETIMEOFFSET。 –
哦,順便說一下,我注意到,自己的刻度線(c#時間大師)發了帖子。看看他的NodaTime工具http://code.google。com/p/noda-time /如果你對在.net中管理時間非常認真。 –
喜歡的東西:
if (ticket.Date == now.Date) // For some value of now
或許:
if (ticket.Date == DateTime.Today)
?您需要考慮時區是否也可能導致您遇到問題...您需要注意DateTime
has some significant ambiguities - 很容易避免考慮您應該真正關注的事情,特別是在您所在的時區
編輯:正如評論中指出的那樣,你確實可以使用Noda Time,此時你想比較LocalDate
值 - 再次,你仍然需要考慮哪個時區是相關的。
他可以試試我聽到一些聰明人寫的真棒新NodeTime庫。 :) –
您必須比較每個DateTime
的屬性。
例如:
DateTime date1 = new DateTime(2013, 01, 01, 01, 00, 00); // Jan 1th, 2013 - 01:00 AM
DateTime date2 = new DateTime(2013, 01, 01, 02, 00, 00); // Jan 1th, 2013 - 02:00 AM
if (date1.Day == date2.Day && date1.Month == date2.Month && date1.Year == date2.Year)
{
// Your code here.
}
比較只有一天可能是上個月,去年等。這應該更具體。 –
2013年1月1日和5月1日1647年不是同一天 –
工作?
你可以做到這一點(與一些需要檢查的情況下,如果添加事件的時間)。
if ((DateVariable.Date == DateTime.Today) && (DateTime.Now.TimeOfDay < new TimeSpan(20,30,0)))
{
//your work here....
}
http://msdn.microsoft.com/en-us/library/system.datetime.date.aspx – steveg89
你試過了什麼代碼?請告訴我們,以便我們幫助。 – Bit
您是否需要考慮在多個時區出售的門票在「日」窗口內? –