newDate = DateAdd("h", 6, now())
timeLeft = DateDiff("h", newDate, yourFieldDate)
response.write timeLeft
Då får du ut det i timmar. Resterande bör du väl kunna räkna ut själv om det går 60 sekunder på en minut och 60 minuter på en timme?
47 svar · 737 visningar · startad av Qimen
Hej
Jag har ett datum, kan man lägga på 6 timmar på det och sedan räkna ut hur lång tid det e kvar till det nya tiden i timmar och minuter och sedan skriva ut det?
det första datumet/tidpunkten har jag i en mysql databas med typen datetime.
newDate = DateAdd("h", 6, now())
timeLeft = DateDiff("h", newDate, yourFieldDate)
response.write timeLeft
Då får du ut det i timmar. Resterande bör du väl kunna räkna ut själv om det går 60 sekunder på en minut och 60 minuter på en timme?
Hmmm den la nog inte till 6 timmar på det datumet. Verkar inte så iaf. Av datumfältet i dbn som var - 2003-04-26 12:00:00 - skulle 6 timmar läggas till men resultat blev -905707 :q
he, he jag fattade nog din fråga otroligt fel. ;)
newDate = DateAdd("h", 6, yourFieldDate)
timeLeft = DateDiff("h", yourFieldDate, newDate)
response.write timeLeft
Om du får + eller minus från din datediff() beror ju lite på hur datumen är relaterade till varandra. Är det nya datumet alltid större än datumet i databasen?
K@llen skrev:
he, he jag fattade nog din fråga otroligt fel. ;)
newDate = DateAdd("h", 6, yourFieldDate) timeLeft = DateDiff("h", yourFieldDate, newDate) response.write timeLeftOm du får + elle rminus i din datediff() beror ju lite på hur datumen är relaterade till varandra. Är det nya datumet alltid större datumet i databasen?
Det börjar närma sig nu, hmm jag kanske förklara lite dåligt, nu visa den 6 (timmar kvar till klockan sex), stämmer iofs men jag vill ha ifrån den tidpunkt som e just nu. :)
Borde det inte vara att byta yourFieldDate mot Now() på datediff-raden? :q
Menar du så här?
newDate = DateAdd("h", 6, yourFieldDate)
timeLeft = DateDiff("h", now(), newDate)
response.write timeLeft
K@llen skrev:
Om du får + eller minus från din datediff() beror ju lite på hur datumen är relaterade till varandra. Är det nya datumet alltid större än datumet i databasen?
Det nya datumet kommer nog alltid vara större.
bytar jag ut det till now så får jag -905695 i resultatet :l
Qimen skrev:
K@llen skrev:
Om du får + eller minus från din datediff() beror ju lite på hur datumen är relaterade till varandra. Är det nya datumet alltid större än datumet i databasen?
Det nya datumet kommer nog alltid vara större.
Då bör det iställer vara:
newDate = DateAdd("h", 6, yourFieldDate)
timeLeft = DateDiff("h", newDate, now())
response.write timeLeft
newDate = DateAdd("h", 6, yourFieldDate)
timeLeft = DateDiff("h", newDate, now())
response.write timeLeft
Humm då får jag istället 905695
Vad innehåller yourFieldDate? Har du gjort om det till subtypen datum innan du försöker använda det?
Koden fungerar utmärkt när jag testar hos mig i alla fall.
När jag kör denna får jag 5 timmar som utskrift:
newDate = DateAdd("h", 6, "2003-04-26 12:00:00")
timeLeft = DateDiff("h", now(), newDate)
response.write timeLeft
Humm det funkar om jag kör med
newDate = DateAdd("h", 6, "2003-04-26 12:00:00")
timeLeft = DateDiff("h", now(), newDate)
response.write timeLeft
Men försöker jag ta det ifrån dbn blir det fel.
Just nu har värdet i dbn: 2003-04-26 12:00:00
Och fältet är av typen datetime (mysql)
Ett möjligt fel kan vara att vb-motorn och mysql har olika datumformat. Kontrollera inte bara subtyperna som @nders sade utan kolla också så att datumen har samma format, dvs att vb-motorns now() har samma format som ditt fält i databasen.
hmmm nu kom jag på en sak.... funkar detta om jag kör med mysql? datediff funkar väl inte i mysql så..
Qimen skrev:
Och fältet är av typen datetime (mysql)
Det spelar faktiskt ingen roll, utan det är typen i ASP som är det viktiga. ;)
Mvh,
K@llen skrev:
Ett möjligt fel kan vara att vb-motorn och mysql har olika datumformat. Kontrollera inte bara subtyperna som @nders sade utan kolla också så att datumen har samma format, dvs att vb-motorns now() har samma format som ditt fält i databasen.
höh? vad menar ni med det?
Qimen skrev:
hmmm nu kom jag på en sak.... funkar detta om jag kör med mysql? datediff funkar väl inte i mysql så..
men du kör inte datediffen direkt i sql-frågan väl?
Qimen skrev:
hmmm nu kom jag på en sak.... funkar detta om jag kör med mysql? datediff funkar väl inte i mysql så..
Det här är ju ASP? Det spelar ingen roll att det är MySQL. Det som menas med att DateDiff inte fungerar i MySQL är att det inte är en MySQL-funktion, dvs, du kan inte använda den i SQL-frågorna.
Vad du skriver i ASP ska MySQL ge blanka fan i. ;)
Mvh