我有以下情况:Datepicker供用户选择Year,Month,并用它来显示所选月份的记录。使用Ajax将选定的值传递给details_subcontractor.php。日期选择器已从jQuery UI DatePicker to show month year only中的已接受答案中修改。下面的示例代码:在PHP 5.2.6中获取第一个月的第几天?
/**
* Datepicker in datepicker.php
*
*/
$("#year_month").datepicker({"dateFormat":"yy-mm-dd",
changeMonth: true,
changeYear: true,
dateFormat: 'yy-mm',
showButtonPanel: true,
onClose: function(dateText, inst) {
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(year, month, 1));
}
});
/**
* Ajax call
*
*/
var year_month = $("#year_month").val();
$.ajax({
url:"details_subcontractor.php",
data:{
year_month:year_month
},
success:function(data){
$("#content_report").html(data);
}
});
/**
* details_subcontractor.php
*
*/
//$_GET['year_month']; //2012-12
$start = date('Y-m-d', strtotime($_GET['year_month'])); //2012-12-18
$start = date('Y-m-d', strtotime('first day of ' . $_GET['year_month'])); //1970-01-01
$start = date('Y-m-d', strtotime($_GET['year_month'] . ' first day')); //2012-12-19
$end = date('Y-m-d', strtotime('last day of ' . $_GET['year_month'])); //1970-01-01
$end = date('Y-m-d', strtotime($_GET['year_month'] . ' last day')); //2012-12-17
但是,随着在线评论节目,我不能让第一天和月的最后一天。我知道'''是在PHP 5.3中引入的,其中包含'of'的两行失败,但我不理解其他三行的输出。 我最后加上'-01'和'-31'来表示月份的第一天和最后一天。有没有人有更好的解决方案,在PHP 5.2.6中工作?
由于您知道PHP5.3,但仍然需要5.2的答案,我想你正在使用拒绝升级的托管服务提供商。需要注意的是,PHP 5.2在两年内完全不受支持,[5.2.6已近5年](http://uk.php.net/releases/index.php)。即使在最新的5.2版本中,也存在已知的安全问题,这些安全问题不会被修补。如果你的主机没有跟上安全补丁五年,你应该认真切换到一个更好的主机。 – SDC
它实际上是我公司的开发服务器。你的回答让我感到惊讶,我会看看我能对他们做些什么。 –