2012-04-02 10 views
14

nel mio database ho una colonna di data e ora ... che riflette un formato simile a questo: 2012-04-02 02:57:54ora e data da timestamp ottenendo con php

Tuttavia vorrei separare fino a $date e $time.

dopo alcune ricerche attraverso il manuale PHP ... Ho trovato quella data(), date_format() e strtotime() sono in grado di aiutarmi a separarli ... (non so se ho ragione)

ma non sono molto sicuro su come codificarlo ...

Nel mio file php ... il timestamp estratto sarebbe $ row ['DATETIMEAPP'].

Will

$date= strtotime('d-m-Y',$row['DATETIMEAPP']); 
$time= strtotime('Gi.s',$row['DATETIMEAPP']); 

o

$date= date('d-m-Y',$row['DATETIMEAPP']); 

lavoro?

Posso usare la data() per ottenere anche l'ora ??

Grazie in anticipo

+0

Perché questa domanda non è utile ??voglio solo sapere qual è il modo migliore per ottenere il valore 2 dal timestamp – Hubert

+0

possibile duplicato di [Come estrarre solo il valore 'Giorno' dalla stringa 'Data' completa?] (http://stackoverflow.com/questions/4275599/how -to-extract-only-day-value-from-full-date-string) – deceze

+0

non posso provare perché ho altri errori nella pagina ... voglio sapere se questo ha un ruolo nel causare l'errore. ..Grazie – Hubert

risposta

45
$timestamp = strtotime($row['DATETIMEAPP']); 

ti dà timestamp, che quindi è possibile utilizzare la data nel formato:

$date = date('d-m-Y', $timestamp); 
$time = date('Gi.s', $timestamp); 

alternativa

list($date, $time) = explode('|', date('d-m-Y|Gi.s', $timestamp)); 
+0

Grazie per la risposta. – Hubert

+2

@Hubert Puoi ringraziarmi accettando la mia risposta :) http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

+0

Questa è la risposta migliore e facile. Aiutato molto Lista –

2
$mydatetime = "2012-04-02 02:57:54"; 
$datetimearray = explode(" ", $mydatetime); 
$date = $datetimearray[0]; 
$time = $datetimearray[1]; 
$reformatted_date = date('d-m-Y',strtotime($date)); 
$reformatted_time = date('Gi.s',strtotime($time)); 
5

Se non volete cambia il formato della data e l'ora dal timestamp, è possibile utilizzare la funzione explode in php

$timestamp = "2012-04-02 02:57:54" 
$datetime = explode(" ",$timestamp); 
$date = $datetime[0]; 
$time = $datetime[1]; 
+1

($ date, $ time) = esplode ('', '2014-11-21 16:38:00'); – zzapper

-1

Opzionalmente è possibile utilizzare la funzione di banca dati per la formattazione data/ora. Per esempio in MySQL uso query:

SELECT DATE_FORMAT(DATETIMEAPP,'%d-%m-%Y') AS date, DATE_FORMT(DATETIMEAPP,'%H:%i:%s') AS time FROM yourtable 

Penso che nel corso dei database fornisce soluzioni per la formattazione della data troppo

1
$timestamp='2014-11-21 16:38:00'; 

list($date,$time)=explode(' ',$timestamp); 

// appena il tempo

preg_match("/ (\d\d:\d\d):\d\d$/",$timestamp,$match); 
echo "\n<br>".$match[1]; 
0

funziona per me:

select DATE(FROM_UNIXTIME(columnname)) from tablename; 
0

Si può provare questo:

Per Data:

$date = new DateTime($from_date); 
$date = $date->format('d-m-Y'); 

Per Tempo:

$time = new DateTime($from_date); 
$time = $time->format('H:i:s');