IMAP中的时区问题


Time Zone issue in IMAP

我正在从Gmail获取电子邮件。当我在一段时间后使用PHP Imap搜索Gmail的最新邮件时它给我重复的结果或不准确。

代码样本,我用它来获得下一个最新消息后的日期时间。我知道这是时区问题。我在我的数据库中存储消息。

如何摆脱这些时区问题?

if($lastMsgTimeDate == '') {
 $date = date("j F Y H:i:s");
}else{
 $date = date("j F Y H:i:s", strtotime($lastMsgTimeDate));
}
$emails = imap_search($inbox,'since "'.$date.'"' ); 

由于PHP使用的IMAP2搜索工具不允许按时间搜索,这可能会解决您的时区问题。

使用最后UID而不是日期。

搜索所有最近的消息,如果它到达最后一个UID,那么退出搜索