提问人:Jacco 提问时间:9/7/2023 更新时间:9/7/2023 访问量:40
无法格式化我的日期以在 php [duplicate] 中正常工作
Failing to format my date to work correctly in php [duplicate]
问:
在处理发送日期的 PHP 表单时,我从输入表单创建时间/日期。(jQuery DatePicker)
$dateinput = $_POST['datepicker'];
$t1 = date_create($dateinput);
//times are posted seperate and stipped from a input box (either 1055 or 10:55)
$t1_hour = substr($t1_raw,0,2);
$t1_min = substr($t1_raw,-2);
$t1->add(new DateInterval('PT' . $t1_hour . 'H'));
$t1->add(new DateInterval('PT' . $t1_min . 'M'));
print_r($t1);
这一切似乎都奏效了
DateTime Object ( [date] => 2023-09-04 10:55:00.000000 [timezone_type] => 3 [timezone] => Europe/Amsterdam )
但是当我尝试拉出 yaer 的日期时,它无法处理这些数据并且没有返回任何内容。
echo date('z',$t1);
我可以打印信息
$datetime_1 = date_format($t1, 'm-d-Y H:i');
echo $datetime_1;
也工作和返回: 09-04-2023 10:55
echo('z',$datetime_1);
返回 0
我在哪里忽略了什么?
print_r(getDate($datetime_1));
不知何故完全坏了
Array (
[seconds] => 9
[minutes] => 0
[hours] => 1
[mday] => 1
[wday] => 4
[mon] => 1
[year] => 1970
[yday] => 0
[weekday] => Thursday
[month] => January
[0] => 9
)
答:
1赞
esQmo_
9/7/2023
#1
$dateinput = $_POST['datepicker'];
$t1 = date_create($dateinput);
//times are posted seperate and stipped from a input box (either 1055 or 10:55)
$t1_hour = substr($t1_raw,0,2);
$t1_min = substr($t1_raw,-2);
$t1->add(new DateInterval('PT' . $t1_hour . 'H'));
$t1->add(new DateInterval('PT' . $t1_min . 'M'));
print_r($t1);
// HERE: Use the format method of the DateTime object to get the day of the year
echo $t1->format('z');
编辑: 从我的评论中复制,我解释了我认为可能导致问题的原因:
我想问题是日期函数期望第二个参数是 Unix 时间戳,但您正在向它传递一个对象。若要从对象中获取一年中的某一天,可以改用对象的 format 方法。
DateTime
DateTime
DateTime
评论
->format()
date()