在我的代码中,这是我如何在插入到 MySQL 数据库之前将 html 日期字段值转换为 unix 时间戳,这工作正常://HTML Code:<div class="form-group">From:<input type="date" name="dateFrom" value="<?php echo date('Y-m-d'); ?>" required/></div><div class="form-group">To:<input type="date" name="dateTo" value="<?php echo date('Y-m-d'); ?>" required/></div>//PHP Code to convert to Time Stamp:<?php $post->unix_stamp = strtotime($_POST['dateFrom']);$post->unix_stamp_ex = strtotime($_POST['dateTo']);$post->save(); ?>如何将 unix 时间戳转换回 html 输入日期值以进行编辑?我试过的:<input type="date" name="dateTo" value="<?php echo date("Y-m-d\TH:i:s",$post->unix_stamp_ex); ?>" required/>其中 $post->unix_stamp_ex 是 unix 时间戳值。(对我不起作用,而是显示 dd/mm/yyyy)。我的问题是如何获取基础值,以显示在日期输入中,以便用户可以对其进行编辑
3 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
您的输入显示占位符 'dd/mm/yyyy' 的原因是因为它无法读取您提供的格式。它不能与时间一起工作,所以你需要从你的代码中删除它:
value="<?php echo date('Y-m-d',$post->unix_stamp_ex); ?>"
这将在输入中显示日期。
另外,请注意,根据我的评论和 RoussKS 的回答,显示的值将与实际值格式不同。
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
兄弟,我可以使用以下方法将数据库字符串转换回可读的日期时间。
解决方案
$databaseTime = '2020-03-22 09:45:48';
$date = strtotime($databaseTime);
echo "DatabaseTime: " . $databaseTime . "<br>";
echo "Date in epoch: ".$date."<br>";
echo "Readable date: ".date("Y-m-d H:i:s",$date)."<br>";
结果
https://prnt.sc/rkmleq
哈士奇WWW
TA贡献1799条经验 获得超6个赞
根据Mozilla Developer docs 输入类型日期
显示的日期格式将与实际值不同——显示的日期是基于用户浏览器的区域设置的,但解析后的值始终是 yyyy-mm-dd 格式。
[edit] 刚刚注意到评论回复,正在按照 El_Vanja 评论输入 [/edit]
- 3 回答
- 0 关注
- 115 浏览
添加回答
举报
0/150
提交
取消