日期格式的PHP问题

时间:2017-06-21 06:56:08

标签: php mysql date

我使用类似(dmY)的日期格式,并将我的日期存储在数据库中作为文本,格式为值(dmY),当我需要将日期与我在数据库中的日期比较时:10.01.2018 with today date 21.06.2017他们会说第一次约会更小。

我尝试使用SELECT * FROM vpn_zahtijevi WHERE status='Aktivan' AND STR_TO_DATE(vpndatumend, '%d.%m.%Y') <= STR_TO_DATE('$datum', '%d.%m.%Y') OR status='Provjera u tijeku' AND STR_TO_DATE(vpndatumend, '%d.%m.%Y') <= STR_TO_DATE('$datum', '%d.%m.%Y')使用一些不同的SQL查询而不再使用...

我能做些什么才能让它变好? 我可以在代码中更改时间格式,还是需要更改所有数据库格式? Witch方式最适合PHP中的日期?

2 个答案:

答案 0 :(得分:0)

你应该比较两个转换值

select * from my_table 
where  STR_TO_DATE(vpndatumend, '%d.%m.%Y ') =  STR_TO_DATE('10.01.2018', '%d.%m.%Y ') 

答案 1 :(得分:0)

无需将日期作为文本存储在数据库中,尤其是在以后需要进行比较时。为此,所有SQL数据库都有日期(时间)列。

也许您有一个有效的用例,但请详细说明该特定用例以获得您正在寻找的答案;)...