PHP 基础知识总结

  日期时间

  1,time() 获取当前系统时间的时间戳

  2,Date() 把时间戳转换为日期和时间格式

  date(format,timestamp) // format 必需。规定时间戳的格式。 timestamp 可选。指定的时间戳。默认是当前时间和日期。

  例:date(" Y-m-d H:i:s ",1533052800); 结果是 2018-08-01 00:00:00

  3,mktime() 返回日期的Unix时间戳

  mktime(hour,minute,second,day,month,year)

  例:mktine(12,0,0,1,8,2018); 结果是 1515384000

  4,strtotime() 把人类可读的字符串转换为Unix时间

  strtotime(time,now)

  例:strtotime(now); 结果是 1533112370

    strtotime("10:38pm April 15 2018"); 结果是 1523803080

    strtotime("+1 week"); 结果是1533700800 //获取下一周的时间戳,当前时间是2018-08-01 12:00:00

  5,strftime() 将时间戳转换为日期时间格式

  strftime(format,timestamp) //format 规定时间戳要转化成的日期格式

    // format 值列表
    %a - 星期几名称的简写
    %A - 星期几名称的全称
    %b - 月份名称的简写
    %B - 月份名称的全称
    %c - 首选的日期和时间表示法
    %C - 表示世纪的数字(年份除以 100,范围从 00 到 99)
*  %d - 一个月中的第几天(01 到 31)
    %D - 时间格式,与 %m/%d/%y 表示法相同
    %e - 一个月中的第几天(1 到 31)
    %g - 与 %G 表示法类似,但不带世纪
    %G - 与 ISO 星期数对应的 4 位数年份(见 %V)
    %h - 与 %b 表示法相同
*  %H - 小时,使用 24 小时制(00 到 23)
*  %I - 小时,使用 12 小时制(01 到 12)
    %j - 一年中的第几天(001 到 366)
*  %m - 月份(01 到 12)
*  %M - 分
    %n - 换行符
    %p - 与给定的时间值相对应的 am 或 pm
    %r - a.m. 和 p.m. 的时间标记法
    %R - 24 小时制的时间标记法
*  %S - 秒
    %t - tab 制表符
    %T - 当前时间,与 %H:%M:%S 表示法相同
    %u - 星期几的数字表示(1 到 7),Monday[星期一] = 1。警告:在 Sun Solaris 系统中,Sunday[星期日] = 1
    %U - 当年包含的周数,从第一个星期日开始,作为第一周的第一天
    %V - 当年包含的 ISO 8601 格式下的周数(01 到 53),week 1 表示当年的第一周,至少要有四天,且以星期一作为周的第一天
    %W - 当年包含的周数,从第一个星期一开始,作为第一周的第一天
    %w - 以十进制数形式表示一周中的某天,Sunday[星期日] = 0
    %x - 首选的日期表示法,不带时间
    %X - 首选的时间表示法,不带日期
    %y - 不包含表示世纪的数字的年份表示(范围从 00 到 99)
*  %Y - 包含表示世纪的数字的年份表示
    %Z 或 %z - 时区名称或简写
    %% - 输出一个 % 字符

  例:strftime("%Y-%m-%d %H:%M:%S",1533090123); 结果是 2018-08-01 10:22:03

  6,strptime() 解析由strftime()生成的日期时间,返回date解析后的数组

  strptime(date,format)