[asp]datum tijd dropdown, elke vrijdag ellende

Pagina: 1
Acties:

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:54
hoi,

met onderstaande code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<select name="bezorgdatum">
<%
if Time() < "12:00:00" Then
    begindatum = DateAdd("d",1,now)
    einddatum = "29/08/2002"
    datum = DateDiff("d", begindatum, einddatum)
    for i = 1 to datum
    afleverdatum = dateAdd("d",i,begindatum)
    if weekday(afleverdatum) <>1 and Weekday(afleverdatum) <> 2 then
    response.write "<OPTION value=""" &DoDateTime(afleverdatum, 1, 1043)& """>"&DoDateTime(afleverdatum, 1, 1043)&"</OPTION>"
    end if
    next
else
    begindatum = DateAdd("d",1,now)
    einddatum = "29/08/2002"
    datum = DateDiff("d", begindatum, einddatum)
    for i = 0 to datum
    afleverdatum = dateAdd("d",i,begindatum)
    if weekday(afleverdatum) <>1 and Weekday(afleverdatum) <> 2 then
    response.write "<OPTION value=""" &DoDateTime(afleverdatum, 1, 1043)& """>"&DoDateTime(afleverdatum, 1, 1043)&"</OPTION>"
    end if
    next
end if
%>
</select>

Heb ik 1 probleempje. Het is elke vrijdag ellende. Dan klopt die dropdown gewoon niet.

Het is dus de bedoeling dat:
Als de tijd > 12:00 's middags, de datum +1 dag verspringt. En zondag en maandag mogen er niet instaan.

De hele week door loopt ie goed, behalve op vrijdag. Weet iemand wat?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
29/08/2002 is verkeerde notatie. Het is of 08/29/2002 of 29-08-2002. Niet dat dat 't probleem is, maar het voorkomt problemen bij bijvoorbeeld 05/04/2002. :)

Hij telt er nu trouwens altijd 1 dag bij op niet alleen bij >12:00.

  • Unifex
  • Registratie: Juni 2002
  • Laatst online: 02-04 13:57
Hoi

Zou je tevens de DoDateTime functie er bij kunnen zetten?
Ik kan hem niet in de MSDN documentatie vinden, ik neem dus aan dat het een eigen functie is.
Daarnaast zijn beide stukken code identiek (Als ik ze zo doorkijk)

Guess what we are not stupid, just ignorant!


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:54
Gert, jouw verhaal, dat is toch opgelost met Session.LCID = 1043? ;)

dodatetime: (niet van mezelf!)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>                  
      function DoDateTime(str, nNamedFormat, nLCID)              
            dim strRet                                      
            dim nOldLCID                                        
                                                          
            strRet = str                                        
            If (nLCID > -1) Then                                  
                oldLCID = Session.LCID                          
            End If                                          
                                                          
            On Error Resume Next                                  
                                                          
            If (nLCID > -1) Then                                  
                Session.LCID = nLCID                            
            End If                                          
                                                          
            If ((nLCID < 0) Or (Session.LCID = nLCID)) Then              
                strRet = FormatDateTime(str, nNamedFormat)            
            End If                                          
                                                          
            If (nLCID > -1) Then                                  
                Session.LCID = oldLCID                          
            End If                                          
                                                          
            DoDateTime = strRet                                
      End Function                                          
      </SCRIPT>

Blijf het zo vreemd vinden, want de hele week loopt ie goed, behalve op vrijdag....

Heart..pumps blood.Has nothing to do with emotion! Bored


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:54
Hmm... ben er nog steeds mee bezig.

Ik heb nu dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%
begindatum = now()
einddatum = "09/01/2002"
datum = DateDiff("d", begindatum, einddatum)
if Time() < "11:59:59" Then
    for i = 1 to datum
    afleverdatum = dateAdd("d",i,begindatum)
        if weekday(afleverdatum) <>1 and Weekday(afleverdatum) <> 2 then
        response.write "<OPTION value=""" &DoDateTime(afleverdatum, 1, 1043)& """>"&DoDateTime(afleverdatum, 1, 1043)&"</OPTION>"
        end if
    next
else
    for i = 2 to datum
    afleverdatum = dateAdd("d",i,begindatum)
        if weekday(afleverdatum) <>1 and Weekday(afleverdatum) <> 2 then
        response.write "<OPTION value=""" &DoDateTime(afleverdatum, 1, 1043)& """>"&DoDateTime(afleverdatum, 1, 1043)&"</OPTION>"
        end if
    next
end if
%>

Het is dus de bedoeling dat in het dropdowntje data komt van nu + 1 dag tot en met 1 september. Welnu, keek nu net, en ja hoor, hij telt er vrolijk 2 bij op. Pas na 11.59:59 AM moet ie er 2 dagen bij op gaan tellen. Even dmv een ranzige oplossing opgelost, maar ik wil dat dit gewoon automatisch verloopt...

Ziet niemand nu wat er fout gaat?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Vigory
  • Registratie: November 2000
  • Laatst online: 15-04 10:26
Misschien:
if Hour(Time()) < 12 then ...

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:54
niks nada...

Wat me wel opvalt is dat hij de else pakt! Hij negeert dus het hele gebeuren van: if Time() < "11:59:59" then.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Vigory
  • Registratie: November 2000
  • Laatst online: 15-04 10:26
Wat geeft:
Response.write Hour(Time())

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:54
op een test pagina geeft ie 9 (op dit moment)

Ik heb nu:

if Hour(Time()) < 10 then

Dat schijnt te werken, ik zal alleen moeten wachten tot 10 uur om te zien of ie werkt. Zoals je ziet heb ik dus niet meer: "10:00:00" Dus zonder de " ". Misschien dat dat de trick is!

Alleen het gekke is gewoon: Dat pleuris ding werkte eergisteren en gisteren wel gewoon goed...

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Vigory
  • Registratie: November 2000
  • Laatst online: 15-04 10:26
Check over even na 12 uur. Of hij dan wel 13 terug geeft i.p.v. 1.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:54
Ja, da's waar!

* TeeDee kruist de vingers in de hoop dat het nu wel blijft werken!

hij geeft als gewone tijd wel aan:
1:02:59 PM

Maar de Hour(Time()) geeft 13 terug..

Dus ik hoop dat het nu eindelijk opgelost is!

Thanks voor je hulp

Heart..pumps blood.Has nothing to do with emotion! Bored

Pagina: 1