10/10/2018, 09:49

Lỗi hàm date() trong PHP

Có ai giúp mình fix được lỗi này không ?

Warning: date() expects parameter 2 to be long, object given in C:wwwvsportalindex.php on line 223

đây là đoạn mã nguồn

<? echo date("d/m/Y",$postdate[0]); ?>


Thank You !
freemind viết 11:56 ngày 10/10/2018
Mình xin bổ sung thêm đoạn mã
while($row1=mysql_fetch_array($result1)){
...
$postdate[$k] = new DateTime ($row1['postdate']);
...
}
....

<? echo date("d/m/Y",$postdate[0]); ?>
pcdinh viết 11:55 ngày 10/10/2018
Compiler đã thông báo lỗi rõ ràng thế rồi mà

<?php echo date("d/m/Y", new DateTime('***xx')) ?>

Đây không phải là signature của function date()
phamduyvt viết 11:51 ngày 10/10/2018
http://www.php.net/manual/en/function.date.php có tất cả
dnthanh viết 11:50 ngày 10/10/2018
Format của function date la như thế này :
string date ( string $format [, int $timestamp ] )
+ tham số thứ 2 có kiểu là timestamp chứ không phải kiểu DateTime.
+ Bạn phải chuyển kiểu từ DateTime sang timestamp. Tìm hiểu kỹ hơn tại www.php.net
freemind viết 11:55 ngày 10/10/2018
Cảm ơn bạn đã trả lời, thực tế mình đã thwr chuyển đổi thành kiểu int như sau

$dt= date("d/m/Y h:m:s A", (int)$postdate );
Kết quả nó không báo lỗi nữa nhưng:

echo $postdate; // 2007/9/13 00:00:00 AM
echo $dt; // 1970/01/01 00:00:00 AM

Mình đã tìm được cách khác để giải quyết vấn đề, nhưng lỗi này thì vẫn chưa khắc phục được. Mong các cao thủ giải đáp.

Được gửi bởi dnthanh
Format của function date la như thế này :
string date ( string $format [, int $timestamp ] )
+ tham số thứ 2 có kiểu là timestamp chứ không phải kiểu DateTime.
+ Bạn phải chuyển kiểu từ DateTime sang timestamp. Tìm hiểu kỹ hơn tại www.php.net
freemind viết 11:59 ngày 10/10/2018
Mình đã thử cái này trước đó, nhưng kết quả là báo lỗi hàm date.


Được gửi bởi pcdinh
Compiler đã thông báo lỗi rõ ràng thế rồi mà

<?php echo date("d/m/Y", new DateTime('***xx')) ?>

Đây không phải là signature của function date()
jiSh@n viết 11:51 ngày 10/10/2018
Được gửi bởi freemind
Cảm ơn bạn đã trả lời, thực tế mình đã thwr chuyển đổi thành kiểu int như sau

$dt= date("d/m/Y h:m:s A", (int)$postdate );
Kết quả nó không báo lỗi nữa nhưng:

echo $postdate; // 2007/9/13 00:00:00 AM
echo $dt; // 1970/01/01 00:00:00 AM

Mình đã tìm được cách khác để giải quyết vấn đề, nhưng lỗi này thì vẫn chưa khắc phục được. Mong các cao thủ giải đáp.
Lần đầu tiên biết đến cái kiểu typecast từ object sang int thế này đấy Học căn bản php lại dùm cái
lethanhclub viết 12:02 ngày 10/10/2018
Được gửi bởi jiSh@n
Lần đầu tiên biết đến cái kiểu typecast từ object sang int thế này đấy Học căn bản php lại dùm cái
Không giúp được người ta thì thôi. Cớ sao lại còn nói này, nói nọ...! Bạn coi lại mình đi.
herofit viết 12:01 ngày 10/10/2018
Được gửi bởi lethanhclub
Không giúp được người ta thì thôi. Cớ sao lại còn nói này, nói nọ...! Bạn coi lại mình đi.
bác này ở đâu chui vào đây chắc là 1 bác nào đó muốn sỉa người khác đây mà

=> còn lỗi trên bác nghía lại tham số của hàm cái, đọc kỹ lại nó yêu cầu tham số truyền vào là cái gì kết quả ra sao?

cứ ép kiểu nhăng cuội chẳng hiểu gì?
Bài liên quan
0