加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 将AM PM时间字符串存储到MySQL中的TIME数据类型,并在显示

发布时间:2020-12-13 18:06:20 所属栏目:PHP教程 来源:网络整理
导读:我在前端输入日期为上午10:00,中午12:00等…(表示12小时格式). 现在我想在time数据类型列中保存数据库中的值.如何在AM中将AM PM值保存为时间数据类型,并再次显示在前端附加AM PM的时间? 要插入: # replace first argument of STR_TO_DATE with value from
我在前端输入日期为上午10:00,中午12:00等…(表示12小时格式).
现在我想在time数据类型列中保存数据库中的值.如何在AM中将AM PM值保存为时间数据类型,并再次显示在前端附加AM PM的时间?
要插入:
# replace first argument of STR_TO_DATE with value from PHP/frontend
TIME( STR_TO_DATE( '10:00 PM','%h:%i %p' ) );

选择:

# replace first argument with your time field
TIME_FORMAT( '22:00:00','%h:%i %p' );

编辑:
我将继续并假设你使用mysql lib函数.

// first sanitize the $_POST input
// also,make sure you use quotes to identify the $_POST keys
$open = mysql_real_escape_string( $_POST[ 'MondayOpen' ] );
$close = mysql_real_escape_string( $_POST[ 'MondayClose' ] );

// this is the query,which should work just fine.
$sql = '
    INSERT INTO
        `table_lib_hours`
    SET
        `day_name` = "Monday",`day_open_time` = TIME( STR_TO_DATE( "' . $open . '","%h:%i %p" ) ),`day_close_time` = TIME( STR_TO_DATE( "' . $close . '","%h:%i %p" ) )
    ';

$result = mysql_query( $sql );

然后检索值:

$sql = '
    SELECT
        `day_open_time`,`day_close_time`,TIME_FORMAT( `day_open_time`,"%h:%i %p" ) as day_open_time_formatted,TIME_FORMAT( `day_close_time`,"%h:%i %p" ) as day_close_time_formatted
    FROM
        `table_lib_hours`
    WHERE
        `day_name` = "Monday"
    ';

$resultset = mysql_query( $sql );

这将返回结果集,其中格式化数据位于* _formatted字段中

编辑:调整后的%m(月)到%i(分钟).感谢Donny发现了一个很好看的漏洞.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读