我在HTML5 type="date"
字段中以网页形式提供用户输入。然后这个输入值(与其他人一起)被保存为MySQL数据库中的JSON文档。现在我需要提取该日期并将其打印到生成的具有给定格式的MS Word文档中。大!但正如您所知,HTML5日期字段接受日期格式取决于用户的地区,设置等。我注意到,在不同浏览器中输入的所有日期都以“Y-m-d”格式保存在数据库中。这在所有情况下都是如此吗?我可以依赖这种格式以备将来使用吗?找不到有关该主题的任何规格信息。 如果可以而不是依赖“Y-m-d”格式是否有任何PHP库用于“猜测”日期格式?用PHP猜测日期格式
0
A
回答
1
首先,为什么要将JSON文档保存在MySQL数据库中,而不是一些更合适的文档数据库(例如MongoDB)?
无论如何,根据this和this显示的日期格式不同于实际值。 HTTP请求中的日期值将始终格式化为yyyy-mm-dd
,这是ISO 8601格式,我想它应该是可靠的。
在PHP中,您可以使用DateTime类来处理日期字符串。这个类支持许多不同的日期格式。例如:
// timezone is set based on your system preferences if not set
$date1 = new DateTime('2017-04-27', new DateTimeZone('+00:00'));
$date2 = new DateTime('27 April 2017', new DateTimeZone('+00:00'));
$date3 = new DateTime('2017-04-27T00:00:00+00:00');
var_dump($date1 == $date2); // bool(true)
var_dump($date1 == $date3); // bool(true)
如果日期字符串是错误的,将抛出一个异常:
try {
$date = new DateTime('2017 4 27');
} catch (Exception $e) {
echo $e->getMessage(); // DateTime::__construct(): Failed to parse time string (2017 4 27) at position 5 (4): Unexpected character
}
所以,你的情况,你可以,你这个类的日期验证和比正确的输出格式,如:
$dateString = '2017-04-27T14:22:11+00:00';
try {
$date = new DateTime($dateString);
echo $date->format('Y-m-d'); // 2017-04-27
} catch (Exception $e) {
// do something else
}
相关问题
- 1. 猜测模式:猜测MySQL数据库中的日期模式
- 2. Python中许多格式相同的日期的猜测日期格式
- 3. 格式日期格式php
- 4. PHP日期格式
- 5. php日期格式
- 6. 格式日期(PHP)
- 7. 日期格式PHP
- 8. PHP日期格式
- 9. 检测日期格式C#
- 10. 已读read_csv2()猜测日期类型
- 11. PHP格式日期格式DST
- 12. 在PHP中格式化日期格式
- 13. PHP日期格式化
- 14. PHP - 更改日期格式
- 15. PHP的日期格式
- 16. 在PHP格式化日期
- 17. PHP Zend日期格式
- 18. PHP日期格式精度
- 19. PHP日期格式问题
- 20. 日期格式问题PHP
- 21. PHP日期格式问题
- 22. PHP日期()格式化
- 23. PHP中的日期格式
- 24. 格式日期输出PHP
- 25. PHP日期格式问题
- 26. PHP - 日期格式ISO 8601
- 27. PHP日期格式转换
- 28. php日期格式化
- 29. PHP - 日期更改格式
- 30. PHP日期时间::格式
感谢Lukas指出MDN和Google Developers。看起来我搜索得太少,无法自己找到答案。最重要的部分是请求总是以yyyy-mm-dd的形式发送。 – erop
我的整个应用程序是依赖于MySQL的。但我需要构建用于输入硬拷贝文档属性的动态表单。 MySQL 5.7.6中新增的JSON类型字段在扩展应用程序功能方面确实帮了我很大的忙。 – erop