2013-06-25 142 views
0

我在zend框架中有一个模块,我想按照数据库日期时间值差异来执行它。你可以认为我想创建一个出生日提醒,它会在出生那天向我的用户显示一条消息。我怎样才能在zend框架中创建它?任何建议或任何想法大多是受欢迎的。如何在zend框架中创建自动执行器模块?

回答

1

首先,您必须从数据库中获取日期时间和时区差异(可能使用模型)。

然后你可以使用gmstrftime()如果时差是数字表示(例如+1,+2或-1,-2等):

<?php 
    $offset = 2; 
    $timestamp = time() + ($offset * 60 * 60); 
    echo gmstrftime("%b %d %Y %H:%M:%S", $timestamp) . "\n"; 
?> 

PHP手册这里 - http://php.net/manual/en/function.gmstrftime.php

但一个更优雅的解决方案可能是使用的DateTime :: setTimezone():

<?php 
// From PHP manual 

$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru')); 
echo $date->format('Y-m-d H:i:sP') . "\n"; 

$date->setTimezone(new DateTimeZone('Pacific/Chatham')); 
echo $date->format('Y-m-d H:i:sP') . "\n"; 
?>