我有一个用户输入,用户输入时间和日期为'9.30am'和'01/02/02'。我试图将它转换为unix时间戳,以便在将数据从数据库中拖出时帮助排序,但strptime()令我困惑,因为我不确定这是否实际上返回了我需要的unix时间戳。将输入日期和时间的用户更改为unix时间戳
回答
使用PHP的内置DateTime类...
$objDate = DateTime::createFromFormat('H:ia d/m/Y', '9:30am 1/2/2012');
$timestamp = $objDate->getTimestamp();
...返回Unix时间戳。
文档:
要添加变量,像这样使用它...
$objDate = DateTime::createFromFormat('H:ia d/m/Y', "$time $date");
$timestamp = $objDate->getTimestamp();
或者......
$time_date = sprintf("%s %s", $time, $date); // concatenates into a single var
$objDate = DateTime::createFromFormat('H:ia d/m/Y', $time_date);
$timestamp = $objDate->getTimestamp();
注:确保您的变量与符合以下...
$time
= hh:mm (和 “AM” 或 “PM” 附加)
$date
= DD/MM/YYYY
似乎无法得到这个工作 - 每当我添加变量它只是停止脚本,例如:('H:ia d/m/Y','$ time $ date')或('H:ia d/m/Y',$ time $ date)。什么是正确的语法? – Sideshow
@Sideshow查看我上面的修改。 PHP允许将变量插入到双引号中(大多数情况下),因此可以将变量放入字符串中作为第二个参数(或者创建一个包含“time”和“date”的变量)。确保你使用双引号;单引号**不起作用**。 –
你可以使用的strtotime通过把你的变量()
调用它。
strtotime(“9.30 1/2/2012”);
您可以使用:strtotime
PHP.net例子:
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
$date = DateTime::createFromFormat('H:ia d/m/Y' '9:30am 1/2/2012');
$timestamp = $date->getTimestamp();
是你在找什么。 http://www.php.net/datetime
- 1. 在Python中将日期时间更改为Unix时间戳
- 2. C#:Unix时间戳和日期时间
- 3. 将日期和时间转换为UNIX时代时间戳
- 4. 将unix时期时间戳转换为TSQL日期时间
- 5. 将日期转换为UNIX时间戳
- 6. 将unix时间戳更改为格式化日期?
- 7. Unix时间戳VS日期时间
- 8. Unix时间戳到.net日期时间
- 9. 日期到Unix时间戳
- 10. 将日期时间从mySql更改为php中的时间戳
- 11. 将SAS日期时间转换为SAS中的UNIX时间戳
- 12. 将日期时间格式转换为Unix时间戳Pandas
- 13. PHP将MySQL日期时间转换为Unix时间戳
- 14. 熊猫:使用Unix时间戳时间戳作为日期时间索引
- 15. PHP日期转换为unix时间戳
- 16. Unix时间戳和mysql日期:birthdate
- 17. jq日期和unix时间戳
- 18. 将日期和时间转换为日期+时间戳
- 19. 检查用户在UNIX中输入的日期和时间
- 20. 将用户输入的时间转换为UNIX时间? [Android]
- 21. MySQL - 如何将当前日期作为Unix时间戳插入?
- 22. Bash脚本将日期和时间列转换为.csv中的unix时间戳
- 23. 批量转换并将日期时间列值更新为UNIX时间戳?
- 24. jQuery输入使用sql时间戳输入日期时间戳yyyy/mm/dd hh:mm:ss
- 25. 时间戳和表单输入日期/时间
- 26. 更改mySQL中的日期时间戳
- 27. Unix时间戳是由JavaScript的日期()
- 28. 在javascript中将unix日期时间戳转换为特定时区的时间
- 29. 将日期,日期时间转换为时间戳
- 30. 在时区django与日期时间的Unix时间戳
使用'mktime()'或'的strtotime()' – GBD