繁体   English   中英

PHP的strtotime和工作多年?

[英]php strtotime and working out years?

我有一个存储在mysql数据库中的日期,我可以像这样从日期开始锻炼几天,

 ceil(time() - strtotime($account['joined']) / 60 / 60 / 24 % 365);

但是,如何确定年份,因为年份是时间的最高格式,因此之后就是千年呢?

变量是一个,例如:

2011-10-06 22:01:57

谢谢

您可以使用mysql数据库获取时间跨度。

您可以在查询中使用DATEDIFF从当前日期中减去加入日期,这样您就可以获得时间跨度。

此功能的解释如下: http : //dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff

希望能帮助到你

您始终可以使用date("Y", $timestamp)

对于您的问题,您可以使用date_diff,

$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');

使用date("Y")

<?php 
$time = strtotime("1 Jan 2001 1:11:11"); 
echo "Years since time: ".(date("Y") - date("Y", $time));

http://sandbox.phpcode.eu/g/220fe/1

如果可以从MySQL端执行计算,请使用内置的日期/时间函数 例如,假设表T包含日期列D,并且您想将其与当前日期进行比较(以天数为单位):

SELECT 
    TIMESTAMPDIFF(DAY, D, CURDATE()) AS 'days_elapsed'
FROM T

您可以将TIMESTAMPDIFF中的第一个参数更改为以下任意值:FRAC_SECOND(微秒),SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,QUARTER或YEAR。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM