Avatar billede cyberkox Nybegynder
28. juli 2006 - 00:34 Der er 8 kommentarer og
1 løsning

Udskrive minuter i 2 cifre

Hej

Jeg har en "datetime" i min MySQL database, og jeg henter klokslættet ved:
hour(rs("dato"))&":"&minute(rs("dato"))

Men hvis klokslættet er fx: 14:04 i databasen, udskrive kun: 14:4

Hvordan får jeg minutes til altid at stå med to cifre ?
Avatar billede Slettet bruger
28. juli 2006 - 00:44 #1
Måske sådan her:
<%
Ttid = hour(rs("dato"))
Mtid = minute(rs("dato"))
if len(Ttid)=1 then
Ttid = "0" & Ttid
end if
if len(Mtid)=1 then
Mtid = "0" & Mtid
end if
response.write Ttid & ":" & Mtid
%>

\Dan
Avatar billede cyberkox Nybegynder
28. juli 2006 - 00:46 #2
Tjae, har faktisk lig lavet sådan en, men tænkte bar på om ikk der fandtes en lille smart funktion der altid viste 2 cifre uanset hvad?
Avatar billede plx Nybegynder
28. juli 2006 - 00:51 #3
Right("0" & tal, 2)
Avatar billede Slettet bruger
28. juli 2006 - 00:53 #4
- tjoe ikke andet end at vi da sagtens kan smide det i en function i stedet...

måske sådan her:
<%
function nul(streng)
nul = streng
if nul<>"" then
if len(nul)=1 then
nul = "0" & nul
end if
end if
end function
response.write nul(hour(rs("dato"))) & ":" & nul(minute(rs("dato")))
%>

\Dan
Avatar billede cyberkox Nybegynder
28. juli 2006 - 00:55 #5
Men skidt pyt, det virker ;-)
Avatar billede cyberkox Nybegynder
28. juli 2006 - 00:59 #6
dannielsen -> Det var sådan noget som plx kom med, jeg tænkte på. Men nå, du kom først og det virker.

Point givet - Tak for hjælpen
Avatar billede Slettet bruger
28. juli 2006 - 01:48 #7
hehe ok! Det var så lidt...

- og tak for point!

\Dan
Avatar billede thesurfer Nybegynder
28. juli 2006 - 02:03 #8
dannielsen> Jeg ved ikke om du er klar over det (ser ikke sådan ud), men man behøver ikke END IF, hvis man holder det på 1 linie..

Dvs, i stedet for

If noget = Andet Then
  GørNoget
End if

kan man bruge

If noget = Andet Then GørNoget


Som løsning kunne man nøjes med:

t = right("0" & hour(rs("dato")), 2)
m = right("0" & minute(rs("dato")), 2)

response.write t & ":" & m 'udskriver tid

Eller en funktion:

function nul(txt)
nul = right("0" & txt, 2)
end function

response.write nul( hour(rs("dato")) ) & ":" & nul( minute(rs("dato")) ) 'udskriver tid


Så vidt jeg ved:
Hvis man skriver navnet på funktionen med en værdi (funknavn = værdi), i selve funktionen, returneres værdien.
Avatar billede Slettet bruger
28. juli 2006 - 23:47 #9
Hej thesurfer

Jo! Jeg er udmærket klar over det med de if-sætninger som du påpeger med én linje... Men jeg bruger næsten aldrig selv denne metode fordi jeg synes selv at det bliver meget sværere at overskue på den måde...

- Jeg mener at hele idéen med if-sætninger er bedst kun at demonstrere på én måde og man må nok sige at man generelt bruger if-sætninger med flere linjer mest i asp - derfor denne metode...

Det sidste udsagn du kommer med forstår jeg ikke helt, det med den funktion... Jeg erkærer jo netop "nul" til at have strengens værdi for at være sikker på at der kommer et output hvis tallet er større end 9 og dermed med mere end ét ciffer...


\Dan
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
Kurser inden for grundlæggende programmering

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