If Int(Hour(GetCurrentTime(Time))) = Int(RS("tim")) Then Response.Write " selected"
Time() och Hour() är standard-asp-funktioner.
Mvh
22 svar · 592 visningar · startad av Mira
Har konto på Brinkster och ska ändra till svensk tid.
Har lagt in detta:
Session.Lcid = 1053
Function GetCurrentTime(tiden)
GetCurrentTime = DateAdd("h", 6, tiden)
End Function
Och det här är den kod som ska ändras
Hur koppla ihop det?
Är Hour eller Time redan specificerad nånstans?
Har letat men inte hittat det i koden.
If Int(Hour(Time)) = Int(RS("tim")) Then Response.Write " selected"
If Int(Hour(GetCurrentTime(Time))) = Int(RS("tim")) Then Response.Write " selected"
Time() och Hour() är standard-asp-funktioner.
Mvh
OK, det funkade på tiden - men den fattar inte att det nu har blivit 13 sept utan står kvar på 12 sept...
Koden för dag:
If Int(Day(Date)) = Int(RS("dag")) Then Response.Write " selected"
Dessutom när jag gör en Response.Write på min function så anser den att det är 1899-12-31
Mira skrev:
Koden för dag:
If Int(Day(Date)) = Int(RS("dag")) Then Response.Write " selected"
Du måste använda GetCurrentTime() i anropen till alla dessa funktioner, annars ligger du sex timmar efter.
If Int(Day(GetCurrentTime(Date))) = Int(RS("dag")) Then Response.Write " selected"
Mira skrev:
Dessutom när jag gör en Response.Write på min function så anser den att det är 1899-12-31
Det tror jag inte på. Möjligen om du skickar in endast Time(), men det är då inte så konstigt, eftersom Time inte innehåller något datum. Prova med now() istället.
Mvh
Responsen blev rätt med "now".
Men jag får bara timmarna att följa rätt tid - jag har kopplat funktionen till både År, Månad, Datum, men dom följer fortf. USA-tid...
Sen behöver jag få in funktionen på en annan sida med, men vet inte hur jag ska koppla ihop det...
Kan jag koppla in det redan där variablerna deklareras, och bara där... eller hur gör man?
datum = Date()
nu = Date()
If Request.QueryString("date") = "" Then
nu = date()
Else
nu = Request.QueryString("date")
End If
Mira skrev:
Men jag får bara timmarna att följa rätt tid - jag har kopplat funktionen till både År, Månad, Datum, men dom följer fortf. USA-tid...
Nu förstår jag inte riktigt vad du menar. Kan du förklara mer? Visa gärna den kod där du inte får ihop det.
Sen behöver jag få in funktionen på en annan sida med, men vet inte hur jag ska koppla ihop det...
Kan jag koppla in det redan där variablerna deklareras, och bara där... eller hur gör man?
Exempel:
datum = GetCurrentTime(Date())
nu = GetCurrentTime(Date())
If Request.QueryString("date") <> "" Then
nu = Request.QueryString("date")
End If
Jag klippte lite i din if-sats, eftersom det är onödigt att sätta samma värde två gånger.
Mvh
Det räcker inte att bara göra som i ditt senaste exempel... måste man koppla det på fler ställen?
Det ser ut tex. så här (finns 8 varianter...) där datumet skrivs ut:
If Request.QueryString("date") <> "" Then%>
<a href="<%=sajten%>?date=<%=Request.QueryString("date")%>&datum=<%=dagens%>"><%=Dag%></a>
Den första koden, som bara fungerar på timmar, men ej på datum - alltså tiden visas rätt, men när kl. är 00.00 så ändras inte datumet...
För året:
Do Until RS.EOF
Response.Write Space(10) & "<option value=" & chr(34) & RS("ar") & chr(34)
If Int(Year(GetCurrentTime(Date))) = Int(RS("ar")) Then Response.Write " selected"
Response.Write ">" & RS("ar") & vbCrLf
RS.MoveNext
Loop
För månad:
Do Until RS.EOF
Response.Write Space(10) & "<option value=" & chr(34) & RS("man") & chr(34)
If Int(Month(GetCurrentTime(Date))) = Int(RS("man")) Then Response.Write " selected"
Response.Write ">" & RS("man") & vbCrLf
RS.MoveNext
Loop
Och för dag:
Do Until RS.EOF
Response.Write Space(10) & "<option value=" & chr(34) & RS("dag") & chr(34)
If Int(Day(GetCurrentTime(Date))) = Int(RS("dag")) Then Response.Write " selected"
Response.Write ">" & RS("dag") & vbCrLf
RS.MoveNext
Loop
Jag förstår inte riktigt vad du menar att felet är... :(
Kan du exemplifiera med vad resultatet blir och vad det borde bli?
- - - - - - -
Du måste köra funktionen GetCurrentTime på alla datum/tider som genererats av systemet. Inte sådana som en användare fyller i alltså.
Mvh
Problem 1 - med år, månad, dag (de 3 sista koderna):
På den sida där jag skriver inläggen hänger inte datumet med - som du ser på bilden så skriver responsen rätt datum och tid, men i formuläret är bara tiden rätt...
http://xist.dk/x/datum.gif
Problem 2 - själva kalendern och visningen av dagens text.
Om du kollar denna sida mellan kl. 00 och 05.59 så ser du att den visar fel datum.
Där har jag lagt in den kod som du skrev sist.
Frågan är om man måste skriva något i den kod som skriver ut datumet...
<%=Day(datum)%>/<%=Month(datum)%> - <%=Year(datum)%>
(Gick visst inte att länka till bilder på Brinkster...)
Nu noterar jag att du i dina tre kodsnuttar i inlägget ovan angett Date som parameter till funktionen GetCurrentTime(). Skicka istället med Now(), för du behöver ju faktiskt tiden också för att datumet ska kunna bli rätt.
Jag vet inte hur du skapat variabeln datum för den utskriften, men om du gör så här så ska det bli rätt:
<%
datum = GetCurrentTime(now())
%>
<%=Day(datum)%>/<%=Month(datum)%> - <%=Year(datum)%>
Mvh
På 1:an funkade det bra med att ändra till "now".
Men på 2:an funkar det inte lika bra - för då visar den inte dagens text (det stod: "inga inlägg idag").
Det verkar som att den letar efter inlägg som är skrivna NU och inte IDAG...
Sen är det själva almanackan som inte hänger med i tiden, vare sej jag använder "Date" eller "now".
Har dessutom ytterligare ett problem.
Jag vill att dagens datum ska få en ruta, oavsett om det finns inlägg eller ej.
Men nu blir det så rutan syns enbart om det finns ett inlägg idag - dessutom kommer rutan på kommande inlägg...
Har testat i koden fram och tillbaka, och försökt förstå vad som gör vad, men jag lyckas inte...
Någon som kan hjälpa mej att tyda vad som händer...?
Jag vill alltså veta var i koden jag ska lägga min ram-tabell för att den enbart ska hamna på Dagens datum, oavsett om där finns inlägg eller ej.
Jag förstår ingenting.
Tack så mycket @nders!
Fråga: Hur lägger man till en nolla före dag och månad ?
Svar:
dag = right("0" & dag, 2)
manad = right("0" & manad, 2)
Svarade genom att redigera inlägget eftersom jag vill helst inte spåra ur tråden!
Mira skrev:
Nu är det jag som inte förstår nånting...
Jag förstår det. :)
Det är lite för mycket kod för att jag ska orka sätta mig in i det i blindo tyvärr.
Jag förstår inte vad "inga inlägg idag" har med problemet att göra, jag vet inte heller vad kalendern kommer ifrån.
Får man komma med tipset att flytta bort webben från Brinkster och lägga den på ett riktigt webbhotell placerat i Sverige? ;)
Jag ska se om jag orkar sätta mig in i koden senare, och se om jag kan förstå ditt problem. :)
mvh
@nders skrev:
Mira skrev:
Nu är det jag som inte förstår nånting...
Jag förstår det. :)
Det är lite för mycket kod för att jag ska orka sätta mig in i det i blindo tyvärr.
Jag förstår inte vad "inga inlägg idag" har med problemet att göra, jag vet inte heller vad kalendern kommer ifrån.
Får man komma med tipset att flytta bort webben från Brinkster och lägga den på ett riktigt webbhotell placerat i Sverige? ;)
Jag ska se om jag orkar sätta mig in i koden senare, och se om jag kan förstå ditt problem. :)
mvh
Hmm, räcker det inte med:
Session.LCID = 1053
i toppen av dokumentet ?
Wickmark skrev:
Hmm, räcker det inte med:
Session.LCID = 1053i toppen av dokumentet ?
Nej, den påverkar bara hur datum och tid formateras.
Miras problem bottnar sig i att servern står i en annan tidszon, och därmed är klockan på servern inte samma sak som den är här. Det brukar bli ett h-vete att kompensera tyvärr.
Mvh
Borde det inte vara så enkelt som att lägga till 6 timmar på now()?
[red]datum = now() + (6/24) ' 6 timmar / på ett dygn[/red]
Off Topic men jag Har en liten function för att göra detta
Wickmark skrev:
Hur lägger man till en nolla före dag och månad?
genom:
[red]Function AddZero(x, y) ' x är det minsta talet, y är det största
AddZero = String(Int(Len(y)) - Int(Len(x)), "0") & x ' lägg till nollor tills längden på x = y
End Function[/red]
tycker den passar riktigt bra med t.ex. for-loopar
LR^evil.sid skrev:
Borde det inte vara så enkelt som att lägga till 6 timmar på now()?
[red]datum = now() + (6/24) ' 6 timmar / på ett dygn[/red]
Jo, och det räcker att läsa första inlägget i tråden för att se att det inte är det som är problemet.