gpt4 book ai didi

php - 使用类型转换编辑时间值时出现问题

转载 作者:行者123 更新时间:2023-11-29 14:45:04 24 4
gpt4 key购买 nike

我正在使用 PHP 和 MySQL 进入数据库并更改日期值。从用户界面到数据库需要进行日期格式转换。我用来转换并推送到数据库的代码是...

<?php
require_once("../../connect.php");
$e = $_GET['e'];
$start = mysql_real_escape_string($_POST['start']);
$updatestring = "UPDATE tbl_events SET start=STR_TO_DATE('".$start."', '%m/%d/%Y %h:%i' )
WHERE id=".$e;
$update_results = mysql_query($updatestring);
header("Location: event.php?e=".$e);
?>

当该值通过脚本输入时,所有 pm 事件都将转换为 am。

示例

输入= 08/20/2011 04:00 pm
输出= 08/20/2011 4:00am

start=STR_TO_DATE('".$start."', '%m/%d/%Y %h:%i' )

部分代码在我的创建事件脚本中运行良好。谁能告诉我为什么它在这种情况下不起作用?

最佳答案

本质上,您向 MySQL 传递的数据比您解释如何处理的数据还要多。您正在传递“8/20/2011 04:00 pm”,但只提供了足够的信息来解释“8/20/2011 04:00”部分。由于 MySQL 不知道如何处理“pm”,因此它只是忽略它并做出错误的假设,默认为 AM。

MySQL 使用%p 来表示格式的AM/PM 部分。如果您将其添加到函数调用中,它应该可以工作。

试试这个:

start=STR_TO_DATE('".$start."', '%m/%d/%Y %h:%i %p' )

关于php - 使用类型转换编辑时间值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7134790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com