当显示变量{$request.date}
显示正确时,日期从变量“$ request.date”中的数据库拉出“0000-00-00 00:00:00”。
但是,当我尝试格式化时,例如{$request.date|date_format:"%Y-%m-%d"}
它显示今天的日期。
我需要以某种方式检查数据库的日期是否为空,例如所有零,如果它显示其他东西
I used to have
{if $request.date|date_format:"%Y"} == "1999"}
Date NOT Set
{else}
Date Set
{/if}
但是在转移到新服务器之后我不再工作,因为日期不同。
有没有办法使用mid或left函数来获得年份?我试过{$number|string_format:"%d"}
,但它显示0我不确定这是不是时间或年份。
答案 0 :(得分:0)
为什么你不能用这个?
{if $request.date == "0000-00-00 00:00:00"}
Date NOT Set
{else}
Date Set to {$request.date|date_format:"%Y-%m-%d"}
{/if}
答案 1 :(得分:0)
最好先使用
在PHP中清理日期 $timestamp = strtotime($date_string); //where date_string has the format 0000-00-00 ...
在使用smarty之前,请使用date_format
修饰符
由于您从数据库中提取内容,因此您必须在PHP中的数组中循环返回的内容(如果它是多维的)并对"date"
索引进行操作。
希望这会有所帮助。