E Emil W Medlem sedan mars 2009 512 inlägg Frågan 23 feb. 2010 15:22 #1 Hur ska man räkna ut antal dagar det är från dagens datum till det datumet jag har i tabellen ?
Datum formatet är så här 2010-06-02 12:00:00
formatet spelar ingen roll, så länge det är en timestamp så kan du formatera den som vanligt:
datum1-datum2 för att få differansen på de två datumerna idag kl 16.00 till idag 16.00 är 86400 sekunder
$difference = $dateto - $datefrom; // Difference in seconds
$days = floor($difference/86400)
något i den stilen skulle jag gissa att man skriver i php.
E Emil W Medlem sedan mars 2009 512 inlägg Jag ska ha från dagens datum till en annat datum.
ja?
Sätt variablerna $dateto och $datefrom till de variabler du behöver, jag kan inte direkt gissa på vilka datum du vill köra.
E Emil W Medlem sedan mars 2009 512 inlägg Jag får detta
00
så här ser koden ut.
while($row = mysql_fetch_array($utan))
{
$dateto = date('Y-m-d');
$datefrom = htmlspecialchars($row['datumslut']);
$difference = $datefrom - $dateto; // Difference in seconds
$days = floor($difference/86400);
echo $days;
}
G GunnarD Medlem sedan juni 2001 4 290 inlägg Kommer inte att fungera.
Gör om strängarna först till "unixformat", sedan gör du diffen därefter formaterar du "unixformatet" som du vill ha det.
Ex;
<?php
date_default_timezone_set("Europe/Stockholm");
$datum1="2010-01-15 12:34";
$datum2="2010-02-15 12:12";
$udatum1=strtotime($datum1);
$udatum2=strtotime($datum2);
$udatum=$udatum2-$udatum1;
# Skriv ut antalet dagar
echo $udatum/86400; # Dividera med antalet sekunder per dygn
?>
E Emil W Medlem sedan mars 2009 512 inlägg Vad menar du med diffen ?
E erciz Medlem sedan maj 2001 1 826 inlägg E Emil W Medlem sedan mars 2009 512 inlägg E Emil W Medlem sedan mars 2009 512 inlägg Så här ser koden ut nu
while($row = mysql_fetch_array($utan))
{
date_default_timezone_set("Europe/Stockholm");
$d = date('Y-m-d H:i:S');
$utt = htmlspecialchars($row['datum']);
$datum1="$d";
$datum2="$utt";
$udatum1=strtotime($datum1);
$udatum2=strtotime($datum2);
$udatum=$udatum2-$udatum1;
# Skriv ut antalet dagar
echo $udatum/86400; # Dividera med antalet sekunder per dygn
}
Jag får bara massa siffror.
14663.63453703714656.625509259
Vad beror detta på ?
E erciz Medlem sedan maj 2001 1 826 inlägg ...för att du har glömt detta:
GunnarD skrev:
därefter formaterar du "unixformatet" som du vill ha det.
E Emil W Medlem sedan mars 2009 512 inlägg
GunnarD skrev:
Kommer inte att fungera.
Gör om strängarna först till "unixformat", sedan gör du diffen därefter formaterar du "unixformatet" som du vill ha det.
Hur formaterar man till unixformat ?
E erciz Medlem sedan maj 2001 1 826 inlägg E Emil W Medlem sedan mars 2009 512 inlägg Jo den duger.
Jag skrev echo floor($udatum/86400); nu.
nu får jag 147160
E erciz Medlem sedan maj 2001 1 826 inlägg
Emil W skrev:
Jo den duger.
Jag skrev echo floor($udatum/86400); nu.
nu får jag 147160
Markera då hans svar som lösning.
E Emil W Medlem sedan mars 2009 512 inlägg Jag får behålla
$udatum1=strtotime($datum1);
$udatum2=strtotime($datum2);
Ett stort tack till alla som har försökt och hjälpt mig :)