我有一封邮件要发送提醒,说明客户的上次登录日期。我的时间保存在unixtimestamp中。因此,当我从数据库中获取并将其包含在电子邮件中时,它给了我比日期早6天的机会。我在这里做错了什么?

部分数据:

$lastlogin = mysql_result($result,$i,"lastlogin");
$newlastlogin = date("d-m-Y", $lastlogin);


电子邮件内文:

 $msg .= "Your Last Activity: $newlastlogin.<BR>";


来自mysql的lastlogin日期为27-05-2012

但是当邮件发送时,则显示21-05-2012

顺便说一句,我尝试了

$newlastlogin = date("d-m-Y", strtotime($lastlogin));


任何帮助和建议,将不胜感激

最佳答案

您可以使用以下方法直接从数据库将日期转换为Unix TimeStamp:
select语句上的unix_timestamp(date)。

示例:(假设您在登录表上有一个名为last_login的字段)

$sql = "SELECT UNIX_TIMESTAMP(last_login) as lastlogin from logins";


详细信息在这里:
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_unix-timestamp

关于php - UnixTimeStamp显示6天前的日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10695201/

10-11 14:29