我想将php日期转换为时间戳。但即使我更改了网址中的日期,我也能获得相同的输出。
示例:想象一下,我有获取值的URL。
url:localhost/index.php?text_checkin=22/06/2018
$checkin = strtotime($_GET['text_checkin']);
$textin = date('y/m/d', $checkin);
echo $textin;
输出:70/01/01
请帮我解决这个问题。
答案 0 :(得分:3)
使用date_create_from_format
代替
$checkin = $_GET['text_checkin'];
$dateObj = date_create_from_format('d/m/Y',$checkin);
echo date_format($dateObj,'Y/m/d');
<强>输出强>
2018/06/22
答案 1 :(得分:1)
此格式未被strtotime识别为有效日期..尝试使用DateTime对象,如下所示:
$dateTimeObject = DateTime::createFromFormat('d/m/Y', '22/06/2018');
echo $dateTimeObject->getTimestamp();
答案 2 :(得分:0)
$mCheckIn = $_GET['text_checkin'];//getting the check in date
$mDateObj = date_create_from_format('d/m/Y',$mCheckIn);//creating a date object.
echo date_format($mDateObj,'Y/m/d');//echo or store the results in a variable
输出:
2018/06/22
试试
答案 3 :(得分:0)
如果您知道格式始终相同,那么您可以将/
替换为-
,这将使其成为strtotime的有效格式。
$checkin = strtotime(str_replace("/","-","22/06/2018"));
$textin = date('y/m/d', $checkin);
echo $textin;
这可能比调用date_create_from_format更轻 另一方面,date_create_from_format仅适用于此特定格式 如果格式为Y-m-d,则此代码也可以,但date_create_from_format不会。