mysql存储日期的方式

    最近遇到了在MYSQL里存储日期的一些问题。之前日期存储的格式如(2011-07-08 16:30:45),后来在使用时发现有些不便。查了一下,发觉使用UNIX时间戳是很好的办法。UNIX时间戳是以UTC时间1970年1月1日 00:00:00作为0值,离这个时间每过1秒,数值增加1。

    格式字串可以识别以下 format 参数的字符串 

    format 字符 说明 返回值例子
    a 小写的上午和下午值 ampm
    A 大写的上午和下午值 AMPM
    B Swatch Internet 标准时 000999
    d 月份中的第几天,有前导零的 2 位数字 0131
    D 星期中的第几天,文本表示,3 个字母 MonSun
    F 月份,完整的文本格式,例如 January 或者 March JanuaryDecember
    g 小时,12 小时格式,没有前导零 112
    G 小时,24 小时格式,没有前导零 023
    h 小时,12 小时格式,有前导零 0112
    H 小时,24 小时格式,有前导零 0023
    i 有前导零的分钟数 0059>
    I 是否为夏令时 如果是夏令时为 1,否则为 0
    j 月份中的第几天,没有前导零 131
    l(“L”的小写字母) 星期几,完整的文本格式 SundaySaturday
    L 是否为闰年 如果是闰年为 1,否则为 0
    m 数字表示的月份,有前导零 0112
    M 三个字母缩写表示的月份 JanDec
    n 数字表示的月份,没有前导零 112
    O 与格林威治时间相差的小时数 例如:+0200
    r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200
    s 秒数,有前导零 0059>
    S 每月天数后面的英文后缀,2 个字符 stndrd 或者 th。可以和 j 一起用。
    t 给定月份所应有的天数 2831
    T 本机所在的时区 例如:ESTMDT(【译者注】在 Windows
    下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)。
    U 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数 参见 time()
    w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六)
    W ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) 例如:42(当年的第 42 周)
    Y 4 位数字完整表示的年份 例如:19992003
    y 2 位数字表示的年份 例如:9903
    z 年份中的第几天 0366
    Z 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。 -4320043200

    格式字串中不能被识别的字符将原样显示。Z 格式在使用 gmdate() 时总是返回 0

    <?php
    // UNIX时间戳:定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数
    echo time();
    echo "<hr />";
    echo date('Y年m月d日 H:i:s',time());
    echo "<hr />";
    echo date('a',time()); //上午下午
    echo "<hr />";
    echo date('w',time()); //星期
    ?>

相关文章
mysql的sql中若用IN查询时,若IN内的数据较大时,不走索引的解决办法Mysql性能之SQL语句性能优化WDCP升级5.2.17到5.3.17同时编译pdo_mysql如何测试MySQL的压力? 基础篇:CentOS常用命令收藏利用mysql数据库中的TMD表修复“is marked as crashed and last (automatic?) repair failed”的错误使用批处理实现mysql数据库备份与上传MySQL实现表中取出随机数据MySQL优化全攻略-相关数据库命令distinct在mysql中查询多条不重复记录值的解决办法优化MySQL数据库性能的几个好方法在DOS命令行下发送邮件在MySQL里利用SQL语句批量替换页内字符mysql导入数据库文件最大限制更改解决方法通过MyODBC,用ASP操作MYSQL
    标签:MySQL 评论数:2 发布于:2011-07-08 16:03:31

当前共有2条评论,我也要发表:

    我的名字:

    我的邮箱:

    作者:Joe时间:2011-07-14 10:15:13回复

      时间戳貌似不是以秒来计算吧,毫秒的吧。

      作者:simon时间:2011-07-15 14:22:33回复

        应该也可以按毫秒来计算吧。我不是做程序开发的,不是很了解。