2016-03-22 28 views
0

numaralı Salı günü bu yayına hakemlik ediyorum. vbscript asp - Find every Thursday in a given monthTüm yıl boyunca bu sitedeki ASP Klasik

Salı günü bütün sene bulmak istersek nasıl yapmalıyım? 2016 diyelim?

yaptım aşağıda ı yukarıda belirtilen görevinden koduna göre çalışıyorum, ama bunun yerine bütün yıl, sadece Ağustos için bana dönecektir bir aşırı karmaşık bir örnek olduğunu

base_date = cdate("21 aug 2016") 

'get 1st thursday; 
thurs = dateserial(year(base_date), month(base_date), 1) 
'response.write(weekday(thurs)) 
if (weekday(thurs) <> 1) then thurs = 3 - weekday(thurs) + thurs 
'response.write(thurs) 
'loop subsequent; 
do until month(thurs) <> month(base_date) 
    response.write(thurs) 
    response.write("<br />") 
    thurs = dateadd("d", 7, thurs) 
loop 

cevap

1

, ne zaman bir For döngü, sabit bir başlangıç ​​ve bitiş noktasıyla da çalışır.

Dim day 
Dim startdate : startdate = CDate("22 mar 2015") 
Dim enddate : enddate = CDate("22 mar 2016") 

For day = startdate To enddate 
    If WeekDay(day) = vbTuesday Then Response.Write day & " = Tuesday" 
Next 

Çıktı:

24/03/2015 = Tuesday 
31/03/2015 = Tuesday 
07/04/2015 = Tuesday 
14/04/2015 = Tuesday 
21/04/2015 = Tuesday 
28/04/2015 = Tuesday 
05/05/2015 = Tuesday 
12/05/2015 = Tuesday 
19/05/2015 = Tuesday 
26/05/2015 = Tuesday 
02/06/2015 = Tuesday 
09/06/2015 = Tuesday 
16/06/2015 = Tuesday 
23/06/2015 = Tuesday 
30/06/2015 = Tuesday 
07/07/2015 = Tuesday 
14/07/2015 = Tuesday 
21/07/2015 = Tuesday 
28/07/2015 = Tuesday 
04/08/2015 = Tuesday 
11/08/2015 = Tuesday 
18/08/2015 = Tuesday 
25/08/2015 = Tuesday 
01/09/2015 = Tuesday 
08/09/2015 = Tuesday 
15/09/2015 = Tuesday 
22/09/2015 = Tuesday 
29/09/2015 = Tuesday 
06/10/2015 = Tuesday 
13/10/2015 = Tuesday 
20/10/2015 = Tuesday 
27/10/2015 = Tuesday 
03/11/2015 = Tuesday 
10/11/2015 = Tuesday 
17/11/2015 = Tuesday 
24/11/2015 = Tuesday 
01/12/2015 = Tuesday 
08/12/2015 = Tuesday 
15/12/2015 = Tuesday 
22/12/2015 = Tuesday 
29/12/2015 = Tuesday 
05/01/2016 = Tuesday 
12/01/2016 = Tuesday 
19/01/2016 = Tuesday 
26/01/2016 = Tuesday 
02/02/2016 = Tuesday 
09/02/2016 = Tuesday 
16/02/2016 = Tuesday 
23/02/2016 = Tuesday 
01/03/2016 = Tuesday 
08/03/2016 = Tuesday 
15/03/2016 = Tuesday 
22/03/2016 = Tuesday 

Burada yerine vbTuesday geçerli Date Time Constants herhangi birini kullanabilirsiniz.

+0

Merhaba Lankymart, çok teşekkürler. Bu benim günümü biraz kurtardı. Ek olarak, her ayın yalnızca ilk Perşembe gününü görüntülemek isterseniz, kodunuzdan ne değiştirmeliyim? –

+0

@HafizK Salı günleri sordunuz, eğer analiz ederseniz biraz çalışacaksınız. – Lankymart

+0

@HafizK Geriye bakın [burada] (http://stackoverflow.com/a/36151167/692942) Bir ay içindeki tüm özel günler arası değerleri nasıl geri döndüreceğinizi gösteren bir yanıt ekledim. Koşul yerine getirildikten sonra 'If'' 'Exit For' 'eklentisini kullanarak bu ayın ilk gününü size geri gönderirsiniz. – Lankymart