[ASP / SQL] Tijd opslaan in 24 uurs notatie

Pagina: 1
Acties:
  • 423 views sinds 30-01-2008
  • Reageer

  • Urk
  • Registratie: Maart 2000
  • Laatst online: 09-08 00:05
Ik heb het forum en de MS SQL 2000 help al afgeslenterd maar kan helaas niks vinden.

Ik heb nu vanuit een ASP code een INSERT in een SQL database.
Hier wil ik dus in een apart veld de datum en tijd opslaan.
Met
SQL:
1
SET DATEFORMAT dmy

word de datum goed en in het juiste formaat (dd-mm-yyyy) opgeslage.
Echter de tijd staat niet in 24 uurs notatie maar genoemd met AM/PM, terwijl mijn systeem instellingen gewoon staan op een 24 uurs klok.

Hoe kan ik dit in SQL aanpassen?

Verwijderd

Laat gewoon zo staan in de database. Je kunt bewerkingen op data net zo makkelijk in ASP doen.

  • Urk
  • Registratie: Maart 2000
  • Laatst online: 09-08 00:05
Verwijderd schreef op 05 november 2003 @ 00:30:
Laat gewoon zo staan in de database. Je kunt bewerkingen op data net zo makkelijk in ASP doen.
Sorry maar je had je tijd beter kunnen besparen, dat vroeg ik dus namelijk helemaal niet... :|

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 15-08 20:11
http://groups.google.nl/g...2MSFTNGP12.phx.gbl&rnum=2
Is niet in Engels, maar misschien toch wel nuttig... (kan zo snel niets iets anders vinden, ik zoek door)

http://groups.google.nl/g...osting.google.com&rnum=14
Misschien heeft Jimmy toch wel gelijk, het lijkt er namelijk op dat MS SQL gewoon weg altijd PM/AM gebruikt...

[ Voor 39% gewijzigd door Postman op 05-11-2003 00:42 ]


  • Urk
  • Registratie: Maart 2000
  • Laatst online: 09-08 00:05
FlamerX schreef op 05 november 2003 @ 00:39:
http://groups.google.nl/g...2MSFTNGP12.phx.gbl&rnum=2
Is niet in Engels, maar misschien toch wel nuttig... (kan zo snel niets iets anders vinden, ik zoek door)

http://groups.google.nl/g...osting.google.com&rnum=14
Misschien heeft Jimmy toch wel gelijk, het lijkt er namelijk op dat MS SQL gewoon weg altijd PM/AM gebruikt...
Thanks, je eerste link gaat meer over datumformaat in ASP zelf.
De tweede schets inderdaad mijn probleem, maar helaas geen antwoord erbij. Voor diegene daar weet ik misschien nog wel een oplossing. Er zit namelijk iets heel vreemds in Windows 2000 Server. Vorige keer had ik op m'n werk ook zoiets. Toen sloeg hij de datum verkeerd op terwijl de Regional settings goed stonden. Na een dag speuren bleek dat in de Registry de setting bij een andere user (waarschijnlijk van het systeem of webuser) toch verkeerd stond.
Ook met "Run As" was ik er niet achtergekomen, dus in het register duiken heeft toen geholpen, dat heb ik nu dus wederom gechecked maar dat is allemaal goed, dus daar kan het niet aan liggen................

Anyone :? :?

Verwijderd

Enigszins offtopic:
Heerlijk dat bij MSSQL andere instellingen per taal kan hebben. :/

Ideaal gezien zou de datumnotatievan een DB altijd hetzelfde moeten zijn.

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 15-08 20:11
Verwijderd schreef op 05 november 2003 @ 00:51:
Enigszins offtopic:
Heerlijk dat bij MSSQL andere instellingen per taal kan hebben. :/

Ideaal gezien zou de datumnotatievan een DB altijd hetzelfde moeten zijn.
Zeer raar idd, maar MS is niets voor niets MS.

Anyway, misschien is dit iets? http://groups.google.nl/g...241%40news6.svr.pol.co.uk
Ik weet het anders ook niet meer (wordt ook al weer laat :O)

  • Urk
  • Registratie: Maart 2000
  • Laatst online: 09-08 00:05
FlamerX schreef op 05 november 2003 @ 00:54:
[...]

Zeer raar idd, maar MS is niets voor niets MS.

Anyway, misschien is dit iets? http://groups.google.nl/g...241%40news6.svr.pol.co.uk
Ik weet het anders ook niet meer (wordt ook al weer laat :O)
Ja, vind het ook heel vreemd dat deze vraag hier niet eerder aan bod is gekomen. Maar bovenstaande link gaat puur om het weergeven op de ASP pagina zelf, dus niet in de database.

Tevens, bij Access werkt dit altijd wel gewoon, die pakt gewoon je systeeminstellingen, dacht ik.

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:38
Urk schreef op 05 november 2003 @ 00:32:
[...]

Sorry maar je had je tijd beter kunnen besparen, dat vroeg ik dus namelijk helemaal niet... :|
Sorry hoor, maar als je zo gaat reageren op mensen die jou willen helpen, dan kan dat zich nogal snel tegen jou keren.
In principe heeft JimmyShelter gewoon gelijk. Hoe de datum in je database opgeslagen wordt, doet er niet toe.
Het is de taak van het client-programma om de datum te representeren zoals de user hem wil zien. De ene persoon ziet de datum liever in een 12 - uur notatie, de andere in 24h notatie, nog iemand anders wil hem als yyyymmdd zien, etc...

In SQL Server wordt de datum zelfs gewoon als een getal opgeslagen. Hij wordt dus ook niet als een 24h of een 12h notatie opgeslagen, maar gewoon als een getal dat het aantal dagen voorstelt dat verstreken is sinds een bepaalde datum.

https://fgheysels.github.io/


  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 27-05 21:11

CmdrKeen

Krentenboltosti

De datum wordt niet opgeslagen in een AM/PM-formaat, maar zoals whoami al opmerkte als een nummer. Meestal is dat het aantal seconden dat verstreken is sinds een bepaald jaartal (1907 of zo).

Zie voor het hele verhaal dit artikel van 4GuysFromRolla.
Hopefully, you noticed something just then: I said that 32.75 represented either of those two formatted times. Actually, it represents ANY equivalent date and time. The point is, the internal representation of a date and time has nothing to do with how it is displayed to the user! And this is true whether you are displaying the date/time via Access, via VBScript, via JScript, or via Excel (yes, it uses the same internal format).

Bloed, zweet & koffie


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

whoami schreef op 05 november 2003 @ 08:27:
In principe heeft JimmyShelter gewoon gelijk.
Laat dat "in principe" maar weg, wat mij betreft; hij heeft gewoon gelijk. Desnoods wil SQL Server hem intern hexadecimaal opslaan, als dat beter is.

Een van de mooiste voorbeelden vind ik hiervan een yes/no veld in MS Access; deze bestaat niet in SQL Server. Daar hebben ze er een bit van gemaakt. Moet je dan ook ontzettend veel omzwervingen doen dat je "yes" of "no" te zien krijgt?

[ Voor 7% gewijzigd door gorgi_19 op 05-11-2003 09:18 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:38
Als ik het goed heb, wordt een datetime in SQL Server als een floating point getal opgeslagen:
het gedeelte voor de komma stelt het aantal dagen voor dat verstreken is sinds een datum ergens in 1759 dacht ik (voor een smalldatetime is dat vanaf 1970), en het gedeelte na de komma stelt het aantal seconden of milliseconden voor dat verstreken is sinds 00:00u.

https://fgheysels.github.io/


  • dominic
  • Registratie: Juli 2000
  • Laatst online: 19:07

dominic

will code for food

whoami schreef op 05 november 2003 @ 09:18:
Als ik het goed heb, wordt een datetime in SQL Server als een floating point getal opgeslagen:
het gedeelte voor de komma stelt het aantal dagen voor dat verstreken is sinds een datum ergens in 1759 dacht ik (voor een smalldatetime is dat vanaf 1970), en het gedeelte na de komma stelt het aantal seconden of milliseconden voor dat verstreken is sinds 00:00u.
Aantal seconden idd.. (Bij smalldatetime)

En zoals eerder in dit topic is geroepen, idd kun je _na_ het uitlezen van die datum gewoon de weergave gaan bepalen.. "dd-MM-yyyy HH:mm" etc.

Download my music on SoundCloud


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 05 november 2003 @ 00:51:
Enigszins offtopic:
Heerlijk dat bij MSSQL andere instellingen per taal kan hebben. :/

Ideaal gezien zou de datumnotatievan een DB altijd hetzelfde moeten zijn.
Wat is hier gek aan? Als je het IUSR_account in een andere taal laat werken dan, ik geloof het system account, krijg je ook dit soort dingen. Ik zou eerder een systeembeheerder de schuld geven dat hij dit heeft gedaan, dan MS.
dominic schreef op 05 november 2003 @ 09:24:
[...]
En zoals eerder in dit topic is geroepen, idd kun je _na_ het uitlezen van die datum gewoon de weergave gaan bepalen.. "dd-MM-yyyy HH:mm" etc.
Waarbij je dit waarschijnlijk door middel van ASP (FormatDateTime oid) en SQL Server (Format oid) kan laten doen. Echter, het is imho compleet onzinnig om dit door SQL Server te laten doen; deze moet normaliter als enige taak hebben om data op te halen en terug te geven, niet formatting. Dat is een presentatiekwestie.

[ Voor 46% gewijzigd door gorgi_19 op 05-11-2003 09:34 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1