zoukankan      html  css  js  c++  java
  • 时间戳转换

    转载:https://blog.csdn.net/chenabin_/article/details/104039280

    解决PHP时间戳中月份、日期前带不带0的问题

    有的时候网页中输出日期时间,月份和日期前有个0,总感觉是多余的,今天我们就分享关于PHP时间戳中月份和日期前面显示0或不显示0的一些详细参数,如下:

    实例:

    1、按照 echo date('Y-m-d H:i:s);

    页面输出结果为:2016-05-22 09:14:08

    2、按照 echo date(‘Y-n-j G:i:s’);

    页面输出结果为:2016-5-22 9:14:08

    这只是很普通的一些函数使用而已,看下面

    1、获取当前时间方法date()
    很简单,这就是获取时间的方法,格式为:date($format, t i m e s t a m p ) , f o r m a t 为 格 式 、 t i m e s t a m p 为 时 间 戳 – 可 填 参 数 。 2 、 获 取 时 间 戳 方 法 t i m e ( ) 、 s t r t o t i m e ( ) 这 两 个 方 法 , 都 可 以 获 取 p h p 中 u n i x 时 间 戳 , t i m e ( ) 为 直 接 获 取 得 到 , s t r t o t i m e ( timestamp),format为格式、timestamp为时间戳–可填参数。 2、获取时间戳方法time()、strtotime() 这两个方法,都可以获取php中unix时间戳,time()为直接获取得到,strtotime(timestamp)formattimestamp2time()strtotime()phpunixtime()strtotime(time, n o w ) 为 将 时 间 格 式 转 为 时 间 戳 , now)为将时间格式转为时间戳,now),time为必填。清楚了这个,想了解更多,请继续往下看。

    3、 date($format)用法
    比如:
    echo date(‘Y-m-d’) ,输出结果:2012-03-22
    echo  date(‘Y-m-d H:i:s’),输出结果:2012-03-22 23:00:00
    echo  date(‘Y-m-d’, time()),输出结果:2012-03-22 23:00:00(结果同上,只是多了一个时间戳参数)(时间戳转换为日期格式的方法)
    echo  date(‘Y’).’年’.date(‘m’).’月’.date(‘d’).’日’,输出结果:2012年3月22日
    举例就这几个,只是格式的变通而已,下面是格式中各个字母的含义:

    各种参数详解:

    a - “am” 或是 “pm”

    A - “AM” 或是 “PM”

    d - 几日,二位数字,若不足二位则前面补零; 如: “01” 至 “31”

    D - 星期几,三个英文字母; 如: “Fri”

    F - 月份,英文全名; 如: “January”

    h - 12 小时制的小时; 如: “01” 至 “12”

    H - 24 小时制的小时; 如: “00” 至 “23”

    g - 12 小时制的小时,不足二位不补零; 如: “1” 至 12"

    G - 24 小时制的小时,不足二位不补零; 如: “0” 至 “23”

    i - 分钟; 如: “00” 至 “59”

    j - 几日,二位数字,若不足二位不补零; 如: “1” 至 “31”

    l - 星期几,英文全名; 如: “Friday”

    m - 月份,二位数字,若不足二位则在前面补零; 如: “01” 至 “12”

    n - 月份,二位数字,若不足二位则不补零; 如: “1” 至 “12”

    M - 月份,三个英文字母; 如: “Jan”

    s - 秒; 如: “00” 至 “59”

    S - 字尾加英文序数,二个英文字母; 如: “th”,“nd”

    t - 指定月份的天数; 如: “28” 至 “31”

    U - 总秒数

    w - 数字型的星期几,如: “0” (星期日) 至 “6” (星期六)

    Y - 年,四位数字; 如: “1999”

    y - 年,二位数字; 如: “99”

    z - 一年中的第几天; 如: “0” 至 “365”

    4、strtotime($time)用法
    比如:
    echo strtotime(’2012-03-22′),输出结果:1332427715(此处结果为随便写的,仅作说明使用)

    echo strtotime(date(‘Y-d-m’)),输出结果:(结合date(),结果同上)(时间日期转换为时间戳)

    strtotime()还有个很强大的用法,参数可加入对于数字的操作、年月日周英文字符,示例如下:

    echo date(‘Y-m-d H:i:s’,strtotime(‘+1 day’)),输出结果:2012-03-23 23:30:33(会发现输出明天此时的时间)

    echo date(‘Y-m-d H:i:s’,strtotime(‘-1 day’)),输出结果:2012-03-21 23:30:33(昨天此时的时间)

    echo date(‘Y-m-d H:i:s’,strtotime(‘+1 week’)),输出结果:2012-03-29 23:30:33(下个星期此时的时间)

    echo date(‘Y-m-d H:i:s’,strtotime(‘next Thursday’)),输出结果:2012-03-29 00:00:00(下个星期四此时的时间)

    echo date(‘Y-m-d H:i:s’,strtotime(‘last Thursday’)),输出结果:2012-03-15 00:00:00(上个星期四此时的时间)

    等等,自己去变通研究吧,strtotime()方法可以通过英文文本的控制Unix时间戳的显示,而得到需要的时间日期格式。

    5、php获取当前时间的毫秒数
    php本身没有提供返回毫秒数的函数,但提供了microtime()方法,它会返回一个Array,包含两个元素:一个是秒数、一个是小数表示的毫秒数,我们可以通过此方法获取返回毫秒数,方法如下:
    function getMillisecond() {
    list($s1, KaTeX parse error: Double superscript at position 17: …2) = explode(' '̲, microtime());…s1) + floatval($s2)) * 1000);
    }

    6、获取当前时间相差6小时解决方法
    有些朋友,获取的时间与当前系统时间相差6个小时,这是因为时区设置问题,只要将之设为上海时间即可。方法如下:
    1.在php.ini中找到date.timezone,将它的值改成 Asia/Shanghai,即 date.timezone = Asia/Shanghai
    2.在程序开始时添加 date_default_timezone_set(‘Asia/Shanghai’)即可。

  • 相关阅读:
    UVa 10118 记忆化搜索 Free Candies
    CodeForces 568B DP Symmetric and Transitive
    UVa 11695 树的直径 Flight Planning
    UVa 10934 DP Dropping water balloons
    CodeForces 543D 树形DP Road Improvement
    CodeForces 570E DP Pig and Palindromes
    HDU 5396 区间DP 数学 Expression
    HDU 5402 模拟 构造 Travelling Salesman Problem
    HDU 5399 数学 Too Simple
    CodeForces 567F DP Mausoleum
  • 原文地址:https://www.cnblogs.com/zinging/p/13948355.html
Copyright © 2011-2022 走看看