zoukankan      html  css  js  c++  java
  • Thinkphp时间转换与统计的问题

    1.thinkphp一般存入的都是时间戳,如果希望输入时直接显示格式化的时间呢;

    a. sql语句:

      SELECT DATE_FORMAT(create_time,'%Y%u') weeks,COUNT(id) as COUNT FROM role GROUP BY weeks;

    b. 在thinkphp中时间获取如:

      db('admin_user')->field("FROM_UNIXTIME(create_time,'%Y%m') months,count(id) name")->group('months')->select();

    c.格式转换:

      

    create_time时间格式//2017-05-12

      SELECT DATE_FORMAT(create_time,'%Y%u') weeks,COUNT(id) as COUNT FROM role GROUP BY weeks;
      SELECT DATE_FORMAT(create_time,'%Y%m%d') days,COUNT(id) COUNT FROM role GROUP BY days;
      SELECT DATE_FORMAT(create_time,'%Y%m') months,COUNT(id) COUNT FROM role GROUP BY months

    create_time时间戳格式//1482511254
      SELECT FROM_UNIXTIME(create_time,'%Y%u') weeks,COUNT(id) COUNT FROM role GROUP BY weeks;
      SELECT FROM_UNIXTIME(create_time,'%Y%m%d') days,COUNT(id) COUNT FROM role GROUP BY days;
      SELECT FROM_UNIXTIME(create_time,'%Y%m') months,COUNT(id) COUNT FROM role GROUP BY months;

      比如运行SELECT UNIX_TIMESTAMP('2010-03-01 00:00:00')

      返回1267372800

      运行SELECT FROM_UNIXTIME(1267372800)

      返回'2010-03-01 00:00:00'

    d.获取当月的天数:$days = date("t"); 

    *******************************************************************************************************************

    /*DATE_FORMAT(date,format)

    根据format字符串格式化date值。下列修饰符可以被用在format字符串中:

    %M 月名字(January……December)
    %W 星期名字(Sunday……Saturday)
    %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
    %Y 年, 数字, 4 位
    %y 年, 数字, 2 位
    %a 缩写的星期名字(Sun……Sat)
    %d 月份中的天数, 数字(00……31)
    %e 月份中的天数, 数字(0……31)
    %m 月, 数字(01……12)
    %c 月, 数字(1……12)
    %b 缩写的月份名字(Jan……Dec)
    %j 一年中的天数(001……366)
    %H 小时(00……23)
    %k 小时(0……23)
    %h 小时(01……12)
    %I 小时(01……12)
    %l 小时(1……12)
    %i 分钟, 数字(00……59)
    %r 时间,12 小时(hh:mm:ss [AP]M)
    %T 时间,24 小时(hh:mm:ss)
    %S 秒(00……59)
    %s 秒(00……59)
    %p AM或PM
    %w 一个星期中的天数(0=Sunday ……6=Saturday )
    %U 星期(0……52), 这里星期天是星期的第一天
    %u 星期(0……52), 这里星期一是星期的第一天
    %% 一个文字“%”。*/

     thinkphp判断时查询语句用法之一如

     db::name('kpi')->field("FROM_UNIXTIME(create_time,'%Y%m%d') days,sum(total_price) as price,sum( CASE WHEN price<0  THEN  price*um END) as reback")->where($map)->group('days')->order('create_time desc')


      

    select id,(CASE WHEN months>donemonth  THEN  months-donemonth END) as needs from `order` where months-donemonth >0
    

      

  • 相关阅读:
    网络语音视频技术浅议 Visual Studio 2010(转)
    一个增删改查功能开发小结
    Oracle左连接、右连接、全外连接以及(+)号用法(转)
    SICP 习题 (1.37)解题总结
    什么是WEBserver? 经常使用的WEBserver有哪些?
    怎样批量把excel中已显示的科学计数法取消
    设计模式之享元模式(Flyweight)摘录
    HOG特征-理解篇
    Java抓取网页数据(原网页+Javascript返回数据)
    【2012.1.24更新】不要再在网上搜索eclipse的汉化包了!
  • 原文地址:https://www.cnblogs.com/bing2017/p/7068586.html
Copyright © 2011-2022 走看看