我有几个文本框,允许一个人输入时间和日期。输入时间为文本框数小时,文本框为分钟,下拉为上午/下午,一些下降为几个月/小时/年
所以,我想结合所有这些来创建一个时间戳并将其保存到数据库中。
但是我对如何做到这一点来创建一个合适的时间戳感到困惑,特别是对于AM / PM部分。
答案 0 :(得分:3)
听起来你只是使用mktime()。通过为pm添加12来获取正确的小时数,然后将参数传递给函数。
if($is_pm) $hour += 12;
$time = mktime($hour, $minute, $second, $month, $day, $year);
如果您正在寻找MySQL时间戳而不是UNIX时间戳,您有两种选择:
date('Y-m-d H:i:s', $time);
UPDATE table SET date = FROM_UNIXTIME($time) WHERE foo='bar'
或者您可以将整数时间戳作为整数存储在数据库中。
答案 1 :(得分:2)
strtotime会这样做:
$timestamp = strtotime("$year-$month-$day $hours:$minutes $am_pm");
确保零填充$ month,$ day,$ hours和$ minutes。
答案 2 :(得分:1)
答案 3 :(得分:-2)
您可以使用以下内容将其转换为unix时间戳:
strtotime("2009/01/02 12:13:14 PM");
strtotime("2009/01/02 12:13:14 AM");