近日在做一个项目需要统计各个年龄段的数据,表里只有一个birthday field,得根据birthday计算出年龄。下面我们看看MySQL如何计算时间差。
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
这个函数是根据interval 的值来计算datetime_expr2-datetime_expr1时间差,可以是秒、时、天、月、年。
interval可以是:
SECOND 秒 SECONDS
MINUTE 分钟 MINUTES
HOUR 时间 HOURS
DAY 天 DAYS
MONTH 月 MONTHS
YEAR 年 YEARS
如果我计算年龄的话就是: TIMESTAMPDIFF(YEARS,birthday, now());
MySQL中除了用now()获取当前时间外还可以用下面的函数来获取当前时间
current_timestamp() current_timestamp 获取当前时间戳
localtime() localtime 获取当地时间
localtimestamp() localtimestamp 获取当地当前时间戳
这三种方法获取到的时间都精确到秒。
大家要用什么补充请直接写到评论里。
Thanks. Let's exchange our ideas, then one idea will become two ideas, thanks again.