在time conversions
中使用datetimepicker
并转换js
中的date
php
我的 PHP 代码是:
<?php
date_default_timezone_set('Asia/Calcutta');
echo date('Y-m-d H:i:s A',strtotime('5/29/2013 00:00PM'));
//outputs 1970-01-01 05:30:00 AM
//echo date('Y-m-d H:i:s A',strtotime('5/29/2013 0:00AM'));//same result
//tested on http://writecodeonline.com/php/
?>
js
<script>
var s='5/29/2013 0:00PM';
parseDate= function(s) {
var currentYear, currentMonth, currentDay, currentHour, currentMinute;
arr=s.split(' ');
dateArr=arr[0].split('/');
currentYear=dateArr[2];
currentMonth=parseInt(dateArr[0])-1;
currentDay=dateArr[1];
timeArr=arr[1].split(':');
currentHour=timeArr[0];
if(s.contains('AM')===false)
{
currentHour=parseInt(timeArr[0])+12;
currentMinute=parseInt(timeArr[1].replace('PM'));
}
else
{
currentMinute=parseInt(timeArr[1].replace('AM'));
}
console.log(currentYear,currentMonth,currentDay,currentHour,currentMinute,0,s.contains('AM'));
return new Date(currentYear,currentMonth,currentDay,currentHour,currentMinute,0);
}
console.log(new Date());
alert(parseDate(s));
//outputs Wed May 29 2013 12:00:00 GMT+0530 (India Standard Time)
</script>
答案 0 :(得分:1)
多数民众赞成因为strtotime不支持你的格式('5/29/2013 00:00 PM');
尝试:strtotime('2013-5-29 00:00:00);或http://www.php.net/manual/en/datetime.createfromformat.php代替。
答案 1 :(得分:1)
时间'00:00PM'格式不正确;如记录所示,带有子午线的小时hh
的格式为"0"?[1-9] | "1"[0-2]
,i。即不是零,而是一到十二。
答案 2 :(得分:0)
PHP手册中的摘录可能是相关的:
“ m / d / y或dmy格式的日期通过查看各个组件之间的分隔符来消除歧义:如果分隔符是斜杠(/),则假设为美国m / d / y ;如果分隔符是破折号( - )或点(。),则假定为欧洲dmy格式。“