2012-05-31 47 views
15

Tôi có một tập lệnh PHP xuất ra một mảng dữ liệu. Điều này sau đó được chuyển thành JSON bằng cách sử dụng chức năng json_encode().Chuyển đổi ngày PHP thành định dạng ngày javascript

Vấn đề của tôi là tôi có ngày trong phạm vi của mình và không nằm trong định dạng javascript chính xác. Làm thế nào tôi có thể chuyển đổi điều này trong PHP vì vậy nó được?

$newticket['ThreadID'] = $addticket; 
$newticket['Subject'] = $subject; 
//$newticket['DateCreated'] = date('d-m-Y G:H'); 

Thay vì những điều trên fo ngày rthe Tôi cần equivilant của hàm javascript

new Date()

Khi tôi ra trên, chúng tôi nhận được như sau "Fri Jun 01 2012 11:08:48 GMT + 0100 (GMT Daylight Time) "Tuy nhiên, nếu tôi định dạng ngày PHP của tôi là như nhau, javascript từ chối nó. Bối rối ...

Có ai giúp được không?

Trả lời

24

Bạn nên có lẽ chỉ cần sử dụng một dấu thời gian

$newticket['DateCreated'] = strtotime('now'); 

Sau đó chuyển nó sang một ngày Javascript

// make sure to convert from unix timestamp 
var now = new Date(dateFromPHP * 1000); 
+0

định dạng ngày javascript là: Fri Jun 01 2012 11:08:48 GMT + 0100 (GMT Daylight Time) không phải là dấu thời gian – LeeTee

+1

Không, có nhiều cách để khởi tạo đối tượng ngày, bao gồm dấu thời gian: http: // www .w3schools.com/jsref/jsref_obj_date.asp –

+3

@LeeTee Định dạng dễ dàng và dễ vận chuyển nhất là dấu thời gian, sau đó bạn có thể chuyển đổi thành bất kỳ thứ gì bạn muốn. – jeremyharris

0
$newticket['DateCreated'] = date('d-m-Y G:H', strtotime($phpDateVariable)); 
+0

$ phpDateVariable đã ở định dạng bạn nêu ở trên. Tôi cần phải đưa vào định dạng javascript đó là Fri Jun 01 2012 11:08:48 GMT + 0100 (GMT Daylight Time) – LeeTee

+0

Bạn chỉ cần hỏi làm thế nào để định dạng một ngày trong PHP? Hãy xem xét các tùy chọn định dạng trong tài liệu: http://us.php.net/manual/en/function.date.php –

0

Nếu bạn muốn được chính xác hơn với timestamp của bạn, bạn nên sử dụng microtime() thay vì bây giờ().

Cung cấp cho bạn:

echo round(microtime(TRUE)*1000); 

Đối với một milisecond, javascript giống như dấu thời gian trong php.

5

Nó khá đơn giản.

đang

PHP:

$formatted_date = $newticket['DateCreated'] = date('Y/m/d H:i:s'); 

javascript mã:

var javascript_date = new Date("<?php echo $formatted_date; ?>"); 
2

là rất đơn giản, tôi sử dụng này:

new Date("<?= date('Y/m/d H:i:s'); ?>"); 
1

Javascript Ngày lớp hỗ trợ định dạng ngày tháng theo tiêu chuẩn ISO 8601 nên Tôi muốn giới thiệu:

<?php 
     date('c', $yourDateTime); 
     // or for objects 
     $dateTimeObject->format('c'); 
?> 

tài liệu nói rằng: định dạng kí tự 'c' là tiêu chuẩn ISO 8601 ngày (thêm trong PHP 5)
dụ: 2004-02-12T15: 19: 21 + 00: 00

để biết thêm thông tin: http://php.net/manual/en/function.date.php

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