使用am/pm创建php时间戳

使用am/pm创建php时间戳,php,timestamp,Php,Timestamp,我有几个文本框,允许一个人输入时间和日期。输入时间时,文本框为小时,文本框为分钟,下拉框为am/pm,部分下拉框为月/小时/年 所以,我想结合所有这些来创建一个时间戳,并将其保存到数据库中 但我对如何创建一个合适的时间戳感到困惑,特别是对于AM/PM部分 听起来你只是想用它。通过为pm添加12来获得正确的小时数,然后将参数传递到函数中 if($is_pm) $hour += 12; $time = mktime($hour, $minute, $second, $month, $day, $ye

我有几个文本框,允许一个人输入时间和日期。输入时间时,文本框为小时,文本框为分钟,下拉框为am/pm,部分下拉框为月/小时/年

所以,我想结合所有这些来创建一个时间戳,并将其保存到数据库中


但我对如何创建一个合适的时间戳感到困惑,特别是对于AM/PM部分

听起来你只是想用它。通过为pm添加12来获得正确的小时数,然后将参数传递到函数中

if($is_pm) $hour += 12;
$time = mktime($hour, $minute, $second, $month, $day, $year);
如果要查找MySQL时间戳而不是UNIX时间戳,则有两个选项:

  • 使用:
    date('Y-m-dh:i:s',$time)以MySQL格式构建时间戳
  • 让MySQL为您做这件事:
    updatetablesetdate=FROM\u UNIXTIME($time),其中foo='bar'

  • 或者您可以将整数时间戳作为整数存储在数据库中。

    听起来您只需要使用。通过为pm添加12来获得正确的小时数,然后将参数传递到函数中

    if($is_pm) $hour += 12;
    $time = mktime($hour, $minute, $second, $month, $day, $year);
    
    如果要查找MySQL时间戳而不是UNIX时间戳,则有两个选项:

  • 使用:
    date('Y-m-dh:i:s',$time)以MySQL格式构建时间戳
  • 让MySQL为您做这件事:
    updatetablesetdate=FROM\u UNIXTIME($time),其中foo='bar'
  • 或者您可以将整数时间戳作为整数存储在数据库中。

    将执行以下操作:

    $timestamp = strtotime("$year-$month-$day $hours:$minutes $am_pm");
    
    只需确保将$month、$day、$hours和$minutes归零。

    将执行以下操作:

    $timestamp = strtotime("$year-$month-$day $hours:$minutes $am_pm");
    

    只需确保将$month、$day、$hours和$minutes归零。

    您可以使用以下方法将其转换为unix时间戳:

    strtotime("2009/01/02 12:13:14 PM");
    strtotime("2009/01/02 12:13:14 AM");
    

    PHP手册参考:

    您可以使用以下方法将其转换为unix时间戳:

    strtotime("2009/01/02 12:13:14 PM");
    strtotime("2009/01/02 12:13:14 AM");
    

    PHP手册参考:

    假设您已经检查了有效输入,您可以使用该函数。如果选择PM,只需在小时数上加上12。这将返回一个Unix时间戳。您可以将该结果传递给,以按照自己的意愿格式化日期。

    假设您已经检查了有效输入,则可以使用该函数。如果选择PM,只需在小时数上加上12。这将返回一个Unix时间戳。您可以将该结果传递到,以按照自己的意愿格式化日期。

    什么样的时间戳?UNIX时间,MySQL时间戳?什么样的时间戳?UNIX时间,MySQL时间戳?天哪,这太容易了。我怎么也不认为那是很愚蠢的。非常感谢。哦,天哪,这太容易了。我怎么也不认为那是很愚蠢的。非常感谢。不过,我希望mktime的性能比解析字符串更好。你可能是对的,但我用性能上的轻微损失换取了AM/PM的更简单处理。然而,我希望mktime的性能比解析字符串更好。你可能是对的,但我用性能上的轻微损失换取了AM/PM的更简单处理。