2010-07-26 44 views
0

我想每天只在特定時間運行我的Windows服務,因此我做了以下操作,但如何在每天都更換此日期?每天爲Windows服務獲取當前日期

Dim checkTime As DateTime 
checkTime = checkTime.Parse("7/23/2010 3:41 PM") 
+2

聽起來像你想要一個計劃的任務不是服務? – 2010-07-26 04:47:06

+2

只是一個觀察,如果你接受答案,如果他們回答你的問題會很好。有0個接受的8個問題相當低。 – aqwert 2010-07-26 04:47:10

+0

這是C#還是VB.NET?你已經標記了C#的問題,但代碼是VB.NET! – 2010-07-26 04:48:20

回答

1

如果你只是希望它有今天的日期,並檢查了整整下午03:41你可以這樣做:

DateTime checkTime = DateTime.Now.Date.AddHours(15).AddMinutes(41); 

你有C#標籤,但你的代碼是在VB所以VB相當於是:

Dim checkTime As DateTime = DateTime.Now.[Date].AddHours(15).AddMinutes(41) 
+3

個人而言,我更喜歡DateTime.Today作爲DateTime.Now.Date – aqwert 2010-07-26 04:50:04

1

請問您需要的程序在任何時候都必須運行,或者它只是需要在特定時間執行的函數,完成後,退出?

如果是後者,您可以簡單地使用Windows的'Task Scheduler來安排您的EXE定期運行。

如果前者,仍然不需要重新發明輪子。看看Quartz.NET。這是一個非常強大的作業調度庫,允許您安排作業定期運行。基本上,你創建一個繼承自IJob的類,它的Execute()方法將在指定的時間由Quartz調用。

警告詞:石英是多線程的,你的IJob類將會在與你的主線程分開的線程中調用,所以你將會面臨線程的危險。