2012-04-02 44 views
14

trong cơ sở dữ liệu của tôi Tôi có cột dấu thời gian ... phản ánh định dạng như sau: 2012-04-02 02:57:54Lấy thời gian và ngày tháng từ dấu thời gian bằng php

Tuy nhiên tôi muốn tách biệt chúng lên thành $date$time.

sau khi một số nghiên cứu thông qua các hướng dẫn php ... Tôi thấy rằng ngày(), date_format() và strtotime() có thể giúp tôi để tách họ ... (không chắc chắn nếu tôi phải)

nhưng tôi không chắc chắn về cách mã hóa nó ra ...

Trong tệp php của tôi ... dấu thời gian được trích xuất sẽ là $ row ['DATETIMEAPP'].

Will

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

hoặc

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

làm việc?

Tôi có thể sử dụng ngày() để nhận thời gian không?

Cảm ơn trước

+0

Tại sao câu hỏi này không hữu ích ??chỉ muốn biết cách tốt nhất để lấy giá trị 2 ra khỏi dấu thời gian – Hubert

+0

bản sao có thể có của [Làm thế nào để trích xuất chỉ giá trị 'Ngày' từ chuỗi 'Ngày' đầy đủ?] (http://stackoverflow.com/questions/4275599/how -to-extract-only-day-value-from-full-date-string) – deceze

+0

tôi không thể thử vì tôi có lỗi khác trên trang ... tôi muốn biết nếu điều này đóng một phần trong gây ra lỗi. ..Cảm ơn – Hubert

Trả lời

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

mang đến cho bạn đánh dấu thời gian, sau đó bạn có thể sử dụng ngày sang định dạng:

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

Ngoài ra

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

Cảm ơn câu trả lời. – Hubert

+2

@Hubert Bạn có thể cảm ơn tôi bằng cách chấp nhận câu trả lời của tôi :) http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

+0

Đây là câu trả lời hay nhất và dễ dàng nhất. Giúp rất nhiều. –

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

Nếu bạn không muốn thay đổi định dạng ngày tháng và thời gian từ dấu thời gian, bạn có thể sử dụng explode hàm trong php

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

danh sách ($ date, $ time) = phát nổ ('', '2014-11-21 16:38:00'); – zzapper

-1

Tùy chọn bạn có thể sử dụng chức năng cơ sở dữ liệu cho ngày/giờ định dạng. Ví dụ trong MySQL sử dụng truy vấn:

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

Tôi nghĩ rằng trên cơ sở dữ liệu cung cấp các giải pháp cho định dạng ngày tháng quá

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

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

// chỉ thời gian

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

trình cho tôi:

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

Bạn có thể thử này:

Đối ngày:

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

Đối với Thời gian:

$time = new DateTime($from_date); 
$time = $time->format('H:i:s'); 
Các vấn đề liên quan