2016-04-12 22 views
-1

我對VB6相對比較新,我剛剛被賦予了一個任務,我有一個日期 - 例如'4/12/2016' - 從這個日期開始,我試圖找到出來的那一天。所以我們說這是一個星期三。從今天開始,我試圖確定一週的日期[sun(startdate) - sat(enddate))。我會如何去做這樣的事情?VB6一天的函數功能

編輯:我對找出的日期爲週日和週六一個不錯的主意,因爲我可以簡單地做沿着線的東西...

dim dateStart,dateend as date 

Ex of date given to me = '4/12/2016' 

Dim dateDay as variant 
dateDay = whatever I get here - i'm assuming that a date will return a number for whatever day it is ???? Not sure 
Select Case dateDay 
case 1 -Monday? 
     dateStart=dateadd("d",-1,'4/12/2016) 
     dateEnd = dateadd("d",6, '4/12/2016) 
case 2 -Tuesday? 
     datestart = dateadd("d",-2,'4/12/2016) 
     dateend = dateadd("d",5,'4/12/2016) 

End Select 

基本上做的是SELECT語句的所有情況。我在正確的軌道上嗎?

+2

請參閱https://msdn.microsoft.com/en-us/library/82yfs2zh(v=vs.90).aspx。在提出問題之前請做研究 - 我將它作爲搜索vb6 dayofweek(即完全是你的標籤)的第一個結果,以及http://www.vb6.us/tutorials/date-time-functions-visual-basic –

+2

Weekday功能的VB6 URL,https://msdn.microsoft.com/en-us/library/aa263404(v=vs.60).aspx – jac

+0

@JonSkeet Weekday功能在VB6中不可用。請參閱下面的答案。不幸的是,微軟盡力將所有VB6搜索重新路由到VB.Net文檔。 – BobRodes

回答

2

此代碼:

Debug.Print Format(DatePart("w", Now), "dddd") 

將打印,現在是立即窗口不管星期幾。如果您想要縮短星期幾,請使用「ddd」作爲格式。

現在,這個代碼:

Dim DOW As String 
Select Case DatePart("w", Now) 
    Case vbSunday 
     DOW = "Sunday" 
    Case vbMonday 
     DOW = "Monday" 
    Case vbTuesday 
     DOW = "Tuesday" 
    Case vbWednesday 
     DOW = "Wednesday" 
    Case vbThursday 
     DOW = "Thursday" 
    Case vbFriday 
     DOW = "Friday" 
    Case vbSaturday 
     DOW = "Saturday" 
End Select 
Debug.Print DOW 

會做同樣的事情。但是,它會告訴您如何通過使用vbSunday,vbMonday等以編程方式評估您正在處理的一週中的哪一天。這應該爲您提供開始使用Select語句時所需的內容。要使用您的示例,DatePart("w", "4/12/2016")的計算結果爲3,或vbTuesday。

VB6參考文檔是here,而且我可能會添加隱藏。查看Format和DatePart以熟悉其他選項。

編輯:正如MarkL指出的,Weekday函數在VB6中可用(我認爲它不是),並且比使用DatePart更簡單(少一個參數)。此代碼:

Debug.Print Format(Weekday(Now), "dddd") 

也將打印一週中的任何一天,它是直接窗口。 jac還在上面的評論中提供了到Weekday功能的鏈接。

+0

Yah我真的忘了這篇文章,所以當我閱讀你的評論時,我不確定你在說什麼,因爲它在爲我工作。謝謝! – FatBoySlim7