[ASP] Tijd van server opvragen en aanpassen.

Pagina: 1
Acties:

  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Ik heb een Messageboard gebouwd en daarbij schrijf ik, als iemand post, ook de tijd van die post naar mijn database.

Er is echter alleen een probleem, die pagina (die de tijd opvraagt) staat op een server in Amerika. Als er iemand nu post, dan staat de tijd van die server erbij, en dat is niet helemala wat ik wil.
Is er een manier om de tijd op te vragen van die server, en die vervolgens om te zetten naar de Nederlandse tijd :? :?

Want nu krijg ik van die rare tijden, bijvoorbeeld iemand overdag post, dan staat er dat het 4u 's-nachts is geweest.

[search]
Leverde niks bruikbaars op.
[/search]

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:40
De oplossing die jij voorstelt is imho ook niet volledig sluitend.
Stel, dat je nu iedere keer de tijd van de server omzet naar de NL-tijd. Wat gebeurt er dan met die tijd van iemand die een bericht post vanuit het VK, of de USA, of een ander land die in een andere tijdzone ligt?

Indien je gewoon de NL-tijd wil, kan je toch uitvissen wat het tijdsverschil is tussen de tijd van de server en de tijd op datzelfde moment in NL? Dan ga je, de tijd van de server opvragen en het tijdsverschil erbij optellen.

https://fgheysels.github.io/


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 00:34

BierPul

2 koffie graag

http://www.hotscripts.com/ASP/Tips_and_Tutorials/Date_and_Time/

Kijk hier even rond dan moet je er vast wel uitkomen.

Probeer in ieder geval wat, als je er niet uitkomt drop het dan weer hier :)

Ja man


  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Op dinsdag 11 juni 2002 13:48 schreef whoami het volgende:
De oplossing die jij voorstelt is imho ook niet volledig sluitend.
Stel, dat je nu iedere keer de tijd van de server omzet naar de NL-tijd. Wat gebeurt er dan met die tijd van iemand die een bericht post vanuit het VK, of de USA, of een ander land die in een andere tijdzone ligt?

Indien je gewoon de NL-tijd wil, kan je toch uitvissen wat het tijdsverschil is tussen de tijd van de server en de tijd op datzelfde moment in NL? Dan ga je, de tijd van de server opvragen en het tijdsverschil erbij optellen.
Probleem is dan dat er iemand wel eens kan posten om 29u 33 bijvoorbeeld, dat is wel weer op te lossen, maar dan krijg je veel code, er zal lijkt me toch wel een standaard functie of zo voor zijn.

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:40
Uhm, als je bij een datetime een bepaald uur optelt, dan gaat die datum imo ook wel heus veranderen hoor.

https://fgheysels.github.io/


  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Op dinsdag 11 juni 2002 14:30 schreef whoami het volgende:
Uhm, als je bij een datetime een bepaald uur optelt, dan gaat die datum imo ook wel heus veranderen hoor.
Denk je? Ik zal het straks eens proberen. Mijn leraar Delphi vind dat ik nu maar eens wat aan zijn vak moet gaan doen :P :P

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:40
En mocht het niet zo zijn, dan ga je een beetje moeite moeten doen. :)

https://fgheysels.github.io/


  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Op dinsdag 11 juni 2002 14:34 schreef whoami het volgende:
En mocht het niet zo zijn, dan ga je een beetje moeite moeten doen. :)
Ik doe het liever volgens de programmeurs "regels"
* FitNiX Beter goed gejat dan slecht verzonnen :D :D

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Op dinsdag 11 juni 2002 14:38 schreef Kermit het volgende:

[..]

Ik doe het liever volgens de programmeurs "regels"
* Janoz Beter goed gejat dan slecht verzonnen :D :D
:? :? Dat zijn geen programmeurs, dat zijn prutsers...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Op dinsdag 11 juni 2002 14:49 schreef Janoz het volgende:

[..]

:? :? Dat zijn geen programmeurs, dat zijn prutsers...
Speak for yourself ;) ;)

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 00:34

BierPul

2 koffie graag

ban >:) :P

Ja man


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:40
Dit is hier de HK niet.

https://fgheysels.github.io/


  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Maar er is dus niet een standaard functie voor, net als in PHP :'( :'(

Ik heb nog in die library gekeken, maar die is erg vaag.
En op Hotscripts.com stond ook helaas niets :(

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:40
Kan je niet gewoon doen:

DateTime := DateTime + Uurverschil
?

https://fgheysels.github.io/


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

prutser.... *kuch*dateadd*kuch*

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Op woensdag 12 juni 2002 14:27 schreef Janoz het volgende:
prutser.... *kuch*dateadd*kuch*
Wist je dit gisteren niet ook al :?
:P :P

Thnx anyway, zal het straks als ik thuis kom, meteen ff proberen :9

[edit]
Wordt het dan iets als:
code:
1
2
3
4
<%tijd = time()
tijd = dateadd(6)
'_voor 6 uur later??_
%>

[/edit]

Verwijderd

Zie voor al je MS Scripting gerelateerde vragen (dus o.a. voor de VBScript language reference) op http://msdn.microsoft.com/scripting/

Zo kan je o.a. ook de DateAdd() functie vinden: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctdateadd.asp

Enjoy :)

  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Op woensdag 12 juni 2002 14:40 schreef MrX het volgende:
Zie voor al je MS Scripting gerelateerde vragen (dus o.a. voor de VBScript language reference) op http://msdn.microsoft.com/scripting/

Zo kan je o.a. ook de DateAdd() functie vinden: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctdateadd.asp

Enjoy :)
Zie je wel dat er een een standaard functie voor is, dit is een stuk makkelijker dan zelf een hele functie te moeten schrijven.
Thnx MrX B-)

Ik vind die M$ database maar een onoverzichtelijk zooitje, maar da's mijn mening. :)

  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Damn, in die functie zit een bug geloof ik,
heb het net getest, en krijg een wazige fout,
Screenies:

Hier gaat het nog goed * FitNiX (hij telt 6 uur erbij op)
Afbeeldingslocatie: http://home.planet.nl/~ponti019/zooi/goed.jpg

Maar hier gaat het fout, * FitNiX (hij telt er 15 uur bij op)
Hij telt zoveel uur erbij, dat de dag eentje verder moet.
* FitNiX De tijd klopt echter wel.
Afbeeldingslocatie: http://home.planet.nl/~ponti019/zooi/fout.jpg

Hier volgt de code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<HTML>
<HEAD>
<TITLE>Tijden aanpassen</TITLE>
</HEAD>
<BODY>

<CENTER>
<B>
Tijd op server:<BR><%=Time%><BR>
Datum op server:<BR><%=Date%><P>
<%
getal = 6
tijd = DateAdd("h", getal, Time())
datum = Date()
%>
<U>Bijtelling: <%=getal%> uur.</U><P>
Tijd met optelling:<BR><%=tijd%>
</B>
</CENTER>

</BODY>
</HTML>

Verwijderd

/me ziet 2 leuke kruisjes
Wat gaat er mis dan?

De MSDN Library is inderdaad wat onoverzichtelijk, maar je moet ook begrijpen dat er een belachelijke hoeveelheid kennis in is opgeslagen, ook nog eens verspreid over veel verschillende ontwikkelomgevingen (denk aan clients, servers, tools, API's, OS'en, etc).

Verwijderd

Pfff, DateAdd is een doorsimpele functie waar genoeg info over te vinden is. Als je hier problemen mee hebt raad ik je aan een ander beroep/hobby te kiezen.

Wat je natuurlijk ook altijd kunt doen is de datum in de tabel al in Nederlandse tijd op te slaan. Dat doe ik altijd als ik weet dat bezoekers overwegend Nederlands zijn.

Geef dan een default waarde op in je Datum veld in de trant van (afhankelijk van je DB) = NOW() + 0,25 (om er 6 uur bij op te tellen).

Doe er je voordeel mee.

  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Op woensdag 12 juni 2002 16:18 schreef MrX het volgende:
/me ziet 2 leuke kruisjes
Wat gaat er mis dan?

De MSDN Library is inderdaad wat onoverzichtelijk, maar je moet ook begrijpen dat er een belachelijke hoeveelheid kennis in is opgeslagen, ook nog eens verspreid over veel verschillende ontwikkelomgevingen (denk aan clients, servers, tools, API's, OS'en, etc).
Nu doen ze het wel. En over die database, dat klopt wel, maar in hotscripts.com staat ook een hoop, en dat is wel duidelijk vind ik
Op woensdag 12 juni 2002 16:26 schreef JeroenDega het volgende:
Pfff, DateAdd is een doordsimpele functie waar genoeg info over te vinden is. Als je hier problemen mee hebt raad ik je aan een ander beroep/hobby te kiezen.

Wat je natuurlijk ook altijd kunt doen is de datum in de tabel al in Nederlandse tijd op te slaan. Dat doe ik altijd als ik weet dat bezoekers overwegend Nederlands zijn.
Als je nix zinnigs heb te melden, doe het dan niet.
Dat laatste is lekker onduidelijk --> tabellen

  • .GoO
  • Registratie: September 2001
  • Laatst online: 26-08 10:06
Op dinsdag 11 juni 2002 13:48 schreef whoami het volgende:
De oplossing die jij voorstelt is imho ook niet volledig sluitend.
Stel, dat je nu iedere keer de tijd van de server omzet naar de NL-tijd. Wat gebeurt er dan met die tijd van iemand die een bericht post vanuit het VK, of de USA, of een ander land die in een andere tijdzone ligt?
Hij pakt de tijd van de server, dus dan maakt het toch niet uit welke tijdzone de gebruiker vandaan komt??

Kan het niet gewoon door de tijdzone uit te rekenen, de tijd op dat moment te nemen, en daar een paar uur van af te trekken ofzo?? Moet vast wel iets simpels op te vinden zijn :)

  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Op woensdag 12 juni 2002 19:24 schreef devv05 het volgende:

[..]

Hij pakt de tijd van de server, dus dan maakt het toch niet uit welke tijdzone de gebruiker vandaan komt??

Kan het niet gewoon door de tijdzone uit te rekenen, de tijd op dat moment te nemen, en daar een paar uur van af te trekken ofzo?? Moet vast wel iets simpels op te vinden zijn :)
Ja maar de tijd op de server is die van amerika, dus die moet worden aangepast. als ik dat doe met AddDate() dan krijg ik een rare waarde als ie de 24.00 overschrijd.
heel wazig dus, sjek de plaatjes

Verwijderd

In je code tel je de 15 uur op bij de systeemtijd, en niet de systeemdatum + tijd, zie de functie Time(). Omdat je dus geen datum deel hebt, krijg je vreemde uitkomsten.

De functie Now() geeft wel de volledige systeemdatum + tijd, en optellingen hiermee zouden wel het verwachte resultaat moeten leveren.

Verwijderd

als je trouwens wilt dat de datumweergave op nederlandse tijd wordt ingesteld i.p.v. amerikaanse weergave
(vb. 12/05/2001 4:28 PM wordt --> 12-05-2001 16:28)
dan moet je helemaal bovenaan de pagina waar de tijdfuncties inzitten het volgende zetten:
code:
1
2
<%@ ENABLESESSIONSTATE = True%>
<% Session.LCID = 1043 %>

  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Op woensdag 12 juni 2002 22:08 schreef Wc-poT het volgende:
als je trouwens wilt dat de datumweergave op nederlandse tijd wordt ingesteld i.p.v. amerikaanse weergave
(vb. 12/05/2001 4:28 PM wordt --> 12-05-2001 16:28)
dan moet je helemaal bovenaan de pagina waar de tijdfuncties inzitten het volgende zetten:
code:
1
2
<%@ ENABLESESSIONSTATE = True%>
<% Session.LCID = 1043 %>
Helaas dat werkt dus niet.
Op woensdag 12 juni 2002 20:05 schreef MrX het volgende:
In je code tel je de 15 uur op bij de systeemtijd, en niet de systeemdatum + tijd, zie de functie Time(). Omdat je dus geen datum deel hebt, krijg je vreemde uitkomsten.

De functie Now() geeft wel de volledige systeemdatum + tijd, en optellingen hiermee zouden wel het verwachte resultaat moeten leveren.
* FitNiX Maar dat dus wel *D *D *D

THNX again MrX :9

Verwijderd

Code die ik heb getest op Brinkster. Daaar kreeg ik de tijd op de brinkster SERVER! (Amerika):




<% elseif pagemake = "main" then
'Stel de goede datum in
dim jaar, maand, dag, uur, minuut, totalDate

jaar = Year(Date)
dag = Day(Date)
maand = Month(Date)
uur = Hour(Time)
minuut= Minute(Time)

if minuut<10 then
minuut = 0 & minuut
end if

if uur<10 then
uur = 0 & uur
end if

Select Case maand
Case 1 maand = "Januari"
Case 2 maand = "Februari"
Case 3 maand = "Maart"
Case 4 maand = "April"
Case 5 maand = "Mei"
Case 6 maand = "Juni"
Case 7 maand = "Juli"
Case 8 maand = "Augustus"
Case 9 maand = "September"
Case 10 maand = "Oktober"
Case 11 maand = "November"
Case 12 maand = "December"
End Select

totalDate = dag & " " & maand & " " & jaar & " | " & uur & ":" & minuut


%>

  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Op donderdag 13 juni 2002 10:46 schreef Gertsan het volgende:
Code die ik heb getest op Brinkster. Daaar kreeg ik de tijd op de brinkster SERVER! (Amerika):

...KNIP...
Ja dat klopt ja, je vraagt de tijd datum jaar e.d. op van de server, maar dat is niet helemaal wat ik wil. Ik wil die tijd e.d. wel hebben, maar er ook nog 6 uur bij optellen. Dit omdat ik een tijd weg wil schrijven naar mijn database, die gelijk is aan de tijd hier in Nederland.
Maar dat werkte niet helemaal lekker. Tot voor kort :)

Het enige wat ik nu nog moet bouwen is een functie-tje die die tijd en datum (+6u) stript, en een beetje ombouwt naar mijn wensen, maar dat is wel te doen. *D

Verwijderd

Op woensdag 12 juni 2002 19:21 schreef Kermit het volgende:
Als je nix zinnigs heb te melden, doe het dan niet.
Dat laatste is lekker onduidelijk --> tabellen
:z :z :z :z

Ik dacht zeker wel wat zinnigs te melden te hebben, maar blijkbaar heb ik het niet duidelijk genoeg uitgelegd voor je. Je wilt de datum in Nederlands formaat opslaan in je database. Ik neem even aan dat het Access is. Zet dan in het onwerp van je tabel als Default-waarde NOW() - 0,25 in je datumveld (dat betekent dus: Vandaag op deze tijd min een kwart dag (6 uur)). Dan hoef je je helemaal niet meer druk te maken over rekenen met datumvelden.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Op donderdag 13 juni 2002 12:20 schreef JeroenDega het volgende:

[..]

:z :z :z :z

Ik dacht zeker wel wat zinnigs te melden te hebben, maar blijkbaar heb ik het niet duidelijk genoeg uitgelegd voor je. Je wilt de datum in Nederlands formaat opslaan in je database. Ik neem even aan dat het Access is. Zet dan in het onwerp van je tabel als Default-waarde NOW() - 0,25 in je datumveld (dat betekent dus: Vandaag op deze tijd min een kwart dag (6 uur)). Dan hoef je je helemaal niet meer druk te maken over rekenen met datumvelden.
Je reactie was wel degelijk zinnig hoor.. De topicstarter weet 'm echter niet op de juiste waarde in te schatten..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Op donderdag 13 juni 2002 12:20 schreef JeroenDega het volgende:

[..]

:z :z :z :z

Ik dacht zeker wel wat zinnigs te melden te hebben, maar blijkbaar heb ik het niet duidelijk genoeg uitgelegd voor je. Je wilt de datum in Nederlands formaat opslaan in je database. Ik neem even aan dat het Access is. Zet dan in het onwerp van je tabel als Default-waarde NOW() - 0,25 in je datumveld (dat betekent dus: Vandaag op deze tijd min een kwart dag (6 uur)). Dan hoef je je helemaal niet meer druk te maken over rekenen met datumvelden.
Ik ben nog niet zo heel lang bezig met ASP, dus het is wel irritant als iets niet lukt, en je krijgt dan meteen reacties zo van, "Dan zou ik er maar mee stoppen." Vandaar mijn reactie met als je nix zinnigs..... ed.

Zal eens kijken of dat ook een beetje werkt in Access.
Werk nu nog wel met en Access database ja, maar wil in de toekomst MySQL gaan gebruiken, en dan heb ik hetzelfde probleem weer. Snap je.

Als ik ipv TIME() --> NOW() gebruik dan doet ie het ook goed. alleen moet ik dan nog ff de datum eraf strippen, maar dat is geen probleem. :)

  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
* FitNiX is ff druk bezig geweest, maar ben vanmorgen weer verder gegaan. hij zit nu wel vast :'(

Ik ben nu dus bezig met die variabele in mijn cookie te zetten, maar dat lukt niet helemaal :'( Wat ik wil doen is de datum en tijd van nu opvragen, daar met de functie DateAdd 24 uur bijtellen, en dan deze variabele datum meeschrijven naar de cookie.
Dat werkt dus niet, krijg foutmelding dat typen niet overeen komen. :( (Had ik ergens al verw8)
Is er een manier om dit toch als een variabele mee te geven zodat de cookie na een dag "expired"?
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
28
29
30
31
32
'maakt een variabele aan met daarin de dag van vandaag + 24 uur.
datum = DateAdd("h", 24, NOW())

'Stript de datum naar de losse elementen: dag, maand en jaar.
teken1  = INSTR(datum,"-")
dag     = LEFT(datum,(teken1 - 1))
teken2  = INSTR((teken1 + 1),datum,"-")
maand   = MID(datum,(teken1 + 1),(teken2 - teken1 - 1))
teken3  = INSTR((teken2 + 1),datum," ")
jaar    = MID(datum,(teken2 + 1),(teken3 - teken2 - 1))
jaar = "20" + jaar

'_____Maakt de datum string aan voor in de cookie.
select case maand
    case 1: maand = ("January")
    case 2: maand = ("February")
    case 3: maand = ("March")
    case 4: maand = ("April")
    case 5: maand = ("May")
    case 6: maand = ("June")
    case 7: maand = ("Juli")
    case 8: maand = ("August")
    case 9: maand = ("September")
    case 10: maand = ("October")
    case 11: maand = ("November")
    case 12: maand = ("December")
end select
'Hierin staat de datum + 24 uur.
datum = "#" &maand& " " &dag& ", " &jaar& "#"

Response.Cookies("stemmen")="wel"
Response.Cookies("stemmen").expires=#June 22, 2002#

Ik wil dus het volgende kunnen doen
code:
1
Response.Cookies("stemmen").expires=datum

  • FitNiX
  • Registratie: April 2001
  • Laatst online: 31-08 12:15
Niemand :'( :'(
Is er geen mogelijkheid om op dergelijke manier een variabele mee te geven aan een cookie? zodat ie de volgende dag na het aanmaken verloopt :? ??
Pagina: 1