PHP strtotime()看起来好像是期待一种欧元格式
发布时间:2020-12-13 18:20:55 所属栏目:PHP教程 来源:网络整理
导读:我一直在使用 PHP的strtotime()方法接受表单上的日期字段.我喜欢它有多强大,它将如何接受“明天”,“下周四”或(据说)任何日期表示并将其转换为Unix时间戳. 它一直很好 – 直到昨天.有人进入“2-4-10”而不是记录2010年2月4日,它记录在2002年4月10日!所以它
我一直在使用
PHP的strtotime()方法接受表单上的日期字段.我喜欢它有多强大,它将如何接受“明天”,“下周四”或(据说)任何日期表示并将其转换为Unix时间戳.
它一直很好 – 直到昨天.有人进入“2-4-10”而不是记录2010年2月4日,它记录在2002年4月10日!所以它期望Y-M-D而不是M-D-Y. 我想也许问题只是使用了两位数的年份,所以我们再次尝试使用“2-4-2010”.记录在2010年4月2日!那时我只是不明白strtotime()正在做什么. PHP.net表示它希望采用美国英语日期格式.为什么它会假设D-M-Y? 有没有解决的办法?或者我是否必须停止使用strtotime()? 注意:我刚才做了一个测试.当你使用斜杠而不是连字符/短划线时,它工作正常,即使是2/4/10.为什么这个重要?如果就是这样,我应该在表单输入上运行str_replace(“ – ”,“/”,$input),然后再将其传递给strtotime()吗?
– 表示ISO日期:
03-02-01 => 1. february 2003 (ISO) 01.02.03 => 1. february 2003 (European) 02/01/03 => 1. february 2003 (US) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |