2011-09-19 49 views
8

Tôi đã lưu một ngày thích điều này "2011-09-23 19:10:18" Và tôi muốn nhận được ngày và giờ còn lại cho đến ngày đạt được. Làm thế nào để làm điều đó? Tôi đã cố gắng với hướng dẫn sử dụng php nhưng tất cả tôi tìm thấy chỉ là các lớp học, mà tôi không có ý định sử dụng, như phần còn lại của ứng dụng được viết procuderal.Php nhận số ngày và giờ còn lại từ ngày

Trả lời

19

PHP đoạn:

<?php 

//Convert to date 
$datestr="2011-09-23 19:10:18";//Your date 
$date=strtotime($datestr);//Converted to a PHP date (a second count) 

//Calculate difference 
$diff=$date-time();//time returns current time in seconds 
$days=floor($diff/(60*60*24));//seconds/minute*minutes/hour*hours/day) 
$hours=round(($diff-$days*60*60*24)/(60*60)); 

//Report 
echo "$days days $hours hours remain<br />"; 
?> 

Note giờ quanh và không có phút/giây xem xét có nghĩa là nó có thể là một chút không chính xác .

+0

cái này sẽ trả lời câu hỏi được hỏi. cảm ơn, đã giúp tôi cũng như – od3n

17

Điều này sẽ giống nỗ lực của bạn.

getdate(strtotime("2011-09-23 19:10:18")) 

Full chuyển đổi:

$seconds = strtotime("2011-09-23 19:10:18") - time(); 

$days = floor($seconds/86400); 
$seconds %= 86400; 

$hours = floor($seconds/3600); 
$seconds %= 3600; 

$minutes = floor($seconds/60); 
$seconds %= 60; 


echo "$days days and $hours hours and $minutes minutes and $seconds seconds"; 
1

nó sẽ là một cái gì đó giống như

echo $date = date("Y-m-d H:i:s");echo "\n"; 

$original=time($date); 


$modified = "2011-09-23 19:10:18"; 

echo date("Y-m-d H:i:s",$modified);echo "\n"; 
0

Bạn có thể tìm ngày giờ hiện tại sử dụng) chức năng (ngày và sau đó trừ

$ x = 2011-09-23 - current_date

điều này sẽ không cho bạn. ngày còn lại.

Làm tương tự với thời gian là tốt ..

Hope this helps

+0

Nó không hoạt động. –

2

Dưới đây là một lời giải thích tốt, bạn có thể muốn có một cái nhìn tại this

+0

trông giống như một tài liệu tham khảo tốt. cám ơn vì đã chia sẻ. – od3n

15

như của PHP 5.3.0 bạn có thể sử dụng xây dựng trong ngày đối tượng:

$datetime1 = new DateTime('2009-10-11'); 
$datetime2 = new DateTime('2009-10-13'); 
$interval = $datetime1->diff($datetime2); 
echo $interval->format('%R%a days'); 

http://www.php.net/manual/en/book.datetime.php

+0

Tôi đã tự hỏi những thông số nào tôi có thể sử dụng. Đây là câu trả lời: http://php.net/manual/en/dateinterval.format.php#refsect1-dateinterval.format-parameters –

1

Cách dễ nhất là cải thiện câu trả lời từ CountZero. Tôi đã sử dụng giải pháp này để truy cập thời gian còn lại trước khi hết hạn ưu đãi. Ngoài ba dòng đầu tiên của mã CountZero:

$days = $interval->d; 
$hours = $interval->h; 
$minutes = $interval->i; 
$seconds = $interval->s; 

Và bây giờ, bạn có thể sử dụng chức năng chuỗi đến trung bình giá trị trả về của bạn, để hợp nhất tất cả hoặc thêm '0' hoặc '00' ở phía trước của các giá trị.

Các vấn đề liên quan