Сегодня я хочу перевести дату в другой формат, используя jQuery / Javascript:
$date = '2013-04-01T19:45:11.000Z' $cool = date('Ym-d',strtotime($date));
Как я могу это сделать (PHP) в jQuery / Javascript?
Благодаря!
Вам нужна дата в таком формате для javascript Sun, 01 Sep 13 08:06:57 +0000
Итак, в PHP вам нужно сделать что-то вроде этого
date_default_timezone_set('Australia/Perth'); echo date('D, d M y H:i:s')." +0000";
И вы можете экспериментировать с jQuery, чтобы проверить это
$.get('dateformat.php', function(data) { date = new Date(data); console.log(date); });
Затем вы можете форматировать дату по своему усмотрению
Пример для форматирования объекта даты:
$.date = function(dateObj) { var d = new Date(dateObj); var day = d.getDate(); var month = d.getMonth() + 1; var year = d.getFullYear(); if (month < 10) { month = "0" + month; } return year + "." + month + "." + day; };
Плагин jquery, который поможет вам форматировать дату, похожую на php
https://github.com/phstc/jquery-dateFormat
Вы можете использовать его для применения формата, подобного этому
$.format.date("2009-12-18 10:54:50.546", "Test: dd/MM/yyyy")
Я думаю, что все.
Используйте объект даты javascript .
<script> var date = new Date('2013-04-01T19:45:11.000Z'); var day = date.getDate(); var month = date.getMonth(); var year = date.getFullYear(); document.write(year + '-' + month + '-' + day); </script>
Если вы нацелены на новые браузеры, вы можете разобрать его прямо на JavaScript, как показано на рисунке fujy или LeGrande. Но когда вы это сделаете, поймите, что дата UTC, которую вы передали, будет преобразована в локальный часовой пояс браузера.
Если вам нужна большая гибкость и полная совместимость с браузером, вы должны использовать библиотеку, такую как moment.js .
// Parse it to a moment var m = moment("2013-04-01T19:45:11.000Z"); // Format it in local time in whatever format you want var s = m.format("YYYY-MM-DD HH:mm:ss") // Or treat it as UTC and then format it var s = m.utc().format("YYYY-MM-DD HH:mm:ss")
JavaScript достаточно умен, чтобы принимать даты в другом формате
var d1 = new Date('2013-04-01T19:45:11.000Z');