webForumDet fria alternativet

Tid ifrån datetime

ASPur ASP

5 svar · 264 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1

mydte kan både ha formatet (ÅÅÅÅ-MM-DD) eller (ÅÅÅÅ-MM-DD TT:MM:SS)
Och för att alltid få ut formatet TT:MM så gör jag så här:

Dim mydte 
mydte="2001-05-06 18:30:00"
mydte=left(arrcalRS2(0,z) &" 00:00:00",19)
Response write left(Right(mydte,8),5)

Men det känns ju lite roddigt.

1.) Tips?

2.) (Frånkopplad förra frågan) Finns det ngn färdig funktion för att kolla om det är vinter/sommartid?

Medlem sedan dec. 20003 887 inlägg
#2
  1. Jag tror det här är precis det du letar efter: FormatDateTime.

  2. Det är ju bara att kolla om dagens datum är mellan sommar- och vintertid. Är det det så är det sommartid.

Medlem sedan nov. 20017 144 inlägg
#3
  1. Tack
  2. Ja ha, hur gör man det då?

För kännedom:
Sommartiden börjar klockan 02.00 normaltid sista söndagen i mars.
Sommartiden upphör klockan 03.00 den sista söndagen i oktober.

Medlem sedan dec. 20003 887 inlägg
#4

Tja... med en smart liten uträkning ;)

Function IsSummerTime(dteDate)
  For i = 1 To 7
    If WeekDay(DateAdd("d", -i, DateSerial(Year(Date), 4, 1)), 2) = 7 Then
      strBegin = Year(Date) & "-3-" & 31 - i & " 2:00"

      Exit For
    End If
  Next

  For i = 1 To 7
    If WeekDay(DateAdd("d", -i, DateSerial(Year(Date), 11, 1)), 2) = 7 Then
      strEnd = Year(Date) & "-11-" & 32 - i & " 3:00"

      Exit For
    End If
  Next

  If dteDate > CDate(strBegin) And dteDate < CDate(strEnd) Then
    IsSummerTime = True
  Else
    IsSummerTime = False
  End If
End Function

Nu är frågan om den här funktionen verkligen är smart och fungerar eller om den trilskas... jag är nyvaken och det är inte alltid min otestade kod gör som det var tänkt då ;)

Medlem sedan nov. 20017 144 inlägg
#5

Detta verkar funka:

Function IsSummerTime(dteDate)
Dim strBegin,strEnd
  For i = 1 To 7
    If WeekDay(DateAdd("d", -i, DateSerial(Year(Date), 4, 1)), 2) = 7 Then
      strBegin = Year(Date) & "-03-" & 32 - i & " 02:00:00"
      Exit For
    End If
  Next
  
  For i = 1 To 7
    If WeekDay(DateAdd("d", -i, DateSerial(Year(Date), 11, 1)), 2) = 7 Then
      strEnd = Year(Date) & "-10-" & 32 - i & " 03:00:00"
      Exit For
    End If
  Next
 
  If datediff("h",dteDate, strBegin)<0 and datediff("h",dteDate, strEnd)>0 Then
    IsSummerTime = True
  Else
    IsSummerTime = False
  End If
End Function

Tack!

Medlem sedan dec. 20003 887 inlägg
#6

Varsågod :)

Det var som tusan... jag som hade en grusgrop i varje öga :e

141 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)