Avatar billede lotze Nybegynder
26. marts 2005 - 18:54 Der er 11 kommentarer og
1 løsning

Returner DateTime med AM/PM betegnelse

Jeg har en lokalt installeret mySQl database som returnere DateTime variable i 24 timers angivelse. Men når jeg bruger databasen på mit web-hotel returnere den med AM/PM angivelser. Meget irreterende at samme kode give to resultater.
Hvordan kan jeg få resultaterne fra webhotellet over i en 24 timers angivelse.
Avatar billede detox Nybegynder
26. marts 2005 - 18:59 #1
Det er vel default formatet der er sat sådan på webhotellet. Du burde dog kunne hive feltet ud med den formatering du ønsker fx:

SELECT DATE_FORMAT(dato_felt, '%Y-%m-%d %H:%i:%s') FROM tabel
Avatar billede lotze Nybegynder
26. marts 2005 - 19:56 #2
Jeg har kigget på det.
Bl.a via http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html

Jeg bruger notationen HH for timer, der automatisk burde returner værdien for timer i 0-23 format. Det gør den bare ikke på mit webhotel.

mit kald ser således ud. string sql = "SELECT * FROM besked WHERE Startdato <='"+ValgtdatoStart.ToString("yyyy-MM-dd HH:mm:ss")+" ' AND (Slutdato >='"+ValgtdatoSlut.ToString("yyyy-MM-dd HH:mm:ss")+ "')";

Kan du fortælle mig helt præsist hvorledes kaldet skal se ud, så det ikke returnere med AM PM notationen.
Avatar billede detox Nybegynder
26. marts 2005 - 20:33 #3
Måske:

string sql = "SELECT *, DATE_FORMAT(Startdato, '%Y-%m-%d %H:%i:%s') Startdato, DATE_FORMAT(Slutdato, '%Y-%m-%d %H:%i:%s') Slutdato FROM besked WHERE Startdato <='"+ValgtdatoStart.ToString("yyyy-MM-dd HH:mm:ss")+" ' AND (Slutdato >='"+ValgtdatoSlut.ToString("yyyy-MM-dd HH:mm:ss")+ "')";
Avatar billede lotze Nybegynder
26. marts 2005 - 20:46 #4
Har nu prøvet, men den returnere stadig fra webhotellet på denne måde 3/23/2005 12:00:00 AM
Meget underligt.
Avatar billede detox Nybegynder
26. marts 2005 - 20:48 #5
Ja, det ser mystisk ud. Er du sikker på det ikke er ved udskrivning i applikationen det går galt?
Avatar billede lotze Nybegynder
26. marts 2005 - 20:51 #6
Jeg har en mysql database kørende på min egen computer, herfra returnere den korrekt. Samme kode to resultater.
Avatar billede detox Nybegynder
26. marts 2005 - 20:59 #7
Men '3/23/2005 12:00:00 AM' ligner absolut ikke noget MySQL kunne finde på at returnere? Og nu er det jo explicit specificeret hvilket format den skal returnere. Kan det være en opsætning i ASP (eller hvad du bruger)?
Avatar billede lotze Nybegynder
26. marts 2005 - 21:08 #8
Ja, jeg kører ASP.NET.
Avatar billede detox Nybegynder
26. marts 2005 - 21:19 #9
Så vidt jeg kan se understøttes dette format slet ikke i MySQL (der angives året altid først):
http://dev.mysql.com/doc/mysql/en/datetime.html

Så det må ligge i ASP.NET delen.
Avatar billede cpufan Juniormester
26. marts 2005 - 21:45 #10
<%session.lcid =1030%>
i toppen af siden når det er asp,
men er så ikke sikker på hvordan det håndteres i .net

men undersøger det lige.

du skal blot sætte afviklingen af dit site til dansk tidsformat.
Avatar billede cpufan Juniormester
26. marts 2005 - 22:02 #11
http://support.microsoft.com/kb/229690/EN-US/

et script der sætter session alt efter hvor brugeren kommer fra....
men du kan jo sortere i det efter behag.
Avatar billede lotze Nybegynder
26. marts 2005 - 22:15 #12
Ja, helt korrekt cpufan. Jeg skal tilføje kultur. Jeg tilføjer øverst dansk kultur i aspx siden.  Culture="da-DK" UICulture="da-DK"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester