Avatar billede obix Nybegynder
06. april 2008 - 01:20 Der er 3 kommentarer og
1 løsning

Form dato til mysql timestamp

Hejsa.

Nogle der lige kan gennemskue hvorfor dette ikke virker

/**
    * Adds a done task to the db.
    */
  function addRegistration($startTime, $endTime, $userName, $taskTypeId, $solutionDesc) {
      $startTime = date( 'Y.m.d H:i:s', $startTime );
    $startTIme = strtotime( $startTime );
      $endTime = date( 'Y.m.d H:i:s', $endTime );
    $endTIme = strtotime( $endTime );
      $q = "INSERT INTO TASKS (starttime, tasktypeid, username, solutiondesc) VALUES (UNIX_TIMESTAMP($startTime), $taskTypeId, '$userName', '$solutionDesc')";
      return mysql_query($q, $this->connection);
  }

Dato sendes som streng ind i formatet 06.3.2008 01:20:14
Avatar billede showsource Seniormester
06. april 2008 - 12:27 #1
dato skal være i formatet ÅÅ MM DD
Avatar billede obix Nybegynder
06. april 2008 - 13:04 #2
Jeg havde glemt at komme gnyffer rundt om datoen i sqllen... Så det var såre simpelt.. Ellers tak Showshource.
Avatar billede showsource Seniormester
06. april 2008 - 13:15 #3
Husk at svare selv!

Og umiddelbart vil jeg da anbefale dig altid at bruge standard formatet, så render du ikke i "uventede" problemer"
Avatar billede obix Nybegynder
06. april 2008 - 14:02 #4
Jeg har ændret det til følgende.

function addRegistration($startTime, $endTime, $userName, $taskTypeId, $solutionDesc) {
      $dateDiffSecs = datediff("s", formatDate($startTime), formatDate($endTime), true);
      $startTime = date('Y.m.d H:i:s', $startTime);
      $endTime = date('Y.m.d H:i:s', $endTime);
      $q = "INSERT INTO TASKS (starttime, endtime, timespent, tasktypeid, username, solutiondesc) VALUES ('$startTime', '$endTime', 1, $taskTypeId, '$userName', '$solutionDesc')";
      return mysql_query($q, $this->connection);
  }

og før jeg kalder metoden gør jeg dette ved datoerne.

function formatDate($val) 
  { 
      list($date, $time) = explode(" ", $val); 
      list($day, $month, $year) = explode(".", $date);
      list($hour, $minute, $second) = explode (":", $time);
      return mktime((int)$hour, (int)$minute, (int)$second, (int)$month, (int)$day, (int)$year);
  }

Datoerne kommer fra inputfields fra brugeren.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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