php - 为 MYSQL 格式化时间 12 小时制

标签 php mysql

如何根据 am/pm 值格式化一个字符串,以便它可以通过 strtotime 和 date 传递?

我有一个包含两个输入和一个选择元素的表单。

  • 小时(输入)<-(字符串)从 1 到 12
  • 分钟(输入)<-(字符串)从 0 到 59
  • 上午/下午(选择)<-(字符串)上午或下午

需要向 MySql 中插入 DATETIME 类型,它需要格式化为当前日期 + 用户选择的时间

可能的字符串:'2:34:pm' 插入格式为 '2012-03-22 14:34:00'

我阅读了可能重复的问题,但我认为情况不同。

最佳答案

第一步
生成 UNIX 时间戳(自 1970 年 1 月 1 日以来的秒数)。

$time = mktime($_POST["hour"], $_POST["minute"], 0);

$_POST["hour"] 应采用 24 小时格式。您需要进行基本的输入检查以确保 $_POST["hour"]$_POST["minute"] 的值有效。

将 12 小时制转换为 24 小时制:

if ($_POST["ampm"] == "pm")
    $_POST["hour"] = ($_POST["hour"] % 12) + 12;

第 2 步
存储到 MySQL。

mysql_query("INSERT INTO table (date) VALUES (FROM_UNIXTIME($time))");

FROM_UNIXTIME(timestamp)会将 PHP 的 UNIX 时间戳转换为格式完美的 MYSQL 日期。

急!

关于php - 为 MYSQL 格式化时间 12 小时制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9844863/

相关文章:

PHP 在 XAMPP 中不工作

php - 如何使用 php 处理可变数量的复选框

php - 如何自动从数据库获取当前日期的数据

c# - 如何用mysql填充gridview?

php - Mysql中如何设计类似结构表

javascript - 如何从 URL : http://www. 获取 "foo"loremipsum.com/mysite.html#foo

mysql - 从字符串 ""到整数类型的转换无效

mysql - Express JS 使用 Mysql 获取正确的 JSON

php - 关于通过 mysqli 使用更新

sql - MySQL - 查找引用指定索引的条目