php – 将AM PM时间字符串存储到MySQL中的TIME数据类型,并在显示时使用AM PM进行检索?

前端之家收集整理的这篇文章主要介绍了php – 将AM PM时间字符串存储到MySQL中的TIME数据类型,并在显示时使用AM PM进行检索?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在前端输入日期为上午10:00,中午12:00等…(表示12小时格式).
现在我想在time数据类型列中保存数据库中的值.如何在AM中将AM PM值保存为时间数据类型,并再次显示在前端附加AM PM的时间?
要插入:
  1. # replace first argument of STR_TO_DATE with value from PHP/frontend
  2. TIME( STR_TO_DATE( '10:00 PM','%h:%i %p' ) );

选择:

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

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

  1. // first sanitize the $_POST input
  2. // also,make sure you use quotes to identify the $_POST keys
  3. $open = MysqL_real_escape_string( $_POST[ 'MondayOpen' ] );
  4. $close = MysqL_real_escape_string( $_POST[ 'MondayClose' ] );
  5.  
  6. // this is the query,which should work just fine.
  7. $sql = '
  8. INSERT INTO
  9. `table_lib_hours`
  10. SET
  11. `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" ) )
  12. ';
  13.  
  14. $result = MysqL_query( $sql );

然后检索值:

  1. $sql = '
  2. SELECT
  3. `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
  4. FROM
  5. `table_lib_hours`
  6. WHERE
  7. `day_name` = "Monday"
  8. ';
  9.  
  10. $resultset = MysqL_query( $sql );

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

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

猜你在找的PHP相关文章