数据库里面的字段为addtime,形式2004-12-12 10:10:10 
调出时用substr()来取,也可以用其他的,但是比较起来这个容易些,仅供参考!
<?substr($rs["addtime"],0,4)."年".substr($rs["addtime"],5,2)."月".substr($rs["addtime"],8,2)."日";?>

解决方案 »

  1.   

    echo date('Y-m-d H:i:s');date
    (PHP 3, PHP 4 )date -- 格式化一个本地时间/日期
    说明
    string date ( string format [, int timestamp])
    返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 time()。 注: 有效的时间戳典型范围是格林威治时间 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07。(此范围符合 32 位有符号整数的最小值和最大值)。在 Windows 系统中此范围限制为从 1970 年 1 月 1 日到 2038 年 1 月 19 日。 注: 要将字符串表达的时间转换成时间戳,应该使用 strtotime()。此外一些数据库有一些函数将其时间格式转换成时间戳(例如 MySQL 的 UNIX_TIMESTAMP 函数)。 表格 1. 格式字串可以识别以下 format 参数的字符串format 字符 说明 返回值例子 
    a 小写的上午和下午值 am 或 pm 
    A 大写的上午和下午值 AM 或 PM 
    B Swatch Internet 标准时 000 到 999 
    d 月份中的第几天,有前导零的 2 位数字 01 到 31 
    D 星期中的第几天,文本表示,3 个字母 Mon 到 Sun 
    F 月份,完整的文本格式,例如 January 或者 March January 到 December 
    g 小时,12 小时格式,没有前导零 1 到 12 
    G 小时,24 小时格式,没有前导零 0 到 23 
    h 小时,12 小时格式,有前导零 01 到 12 
    H 小时,24 小时格式,有前导零 00 到 23 
    i 有前导零的分钟数 00 到 59> 
    I 是否为夏令时 如果是夏令时为 1,否则为 0 
    j 月份中的第几天,没有前导零 1 到 31 
    l(“L”的小写字母) 星期几,完整的文本格式 Sunday 到 Saturday 
    L 是否为闰年 如果是闰年为 1,否则为 0 
    m 数字表示的月份,有前导零 01 到 12 
    M 三个字母缩写表示的月份 Jan 到 Dec 
    n 数字表示的月份,没有前导零 1 到 12 
    O 与格林威治时间相差的小时数 例如:+0200 
    r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200 
    s 秒数,有前导零 00 到 59> 
    S 每月天数后面的英文后缀,2 个字符 st,nd,rd 或者 th。可以和 j 一起用。 
    t 给定月份所应有的天数 28 到 31 
    T 本机所在的时区 例如:EST,MDT(【译者注】在 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 位数字完整表示的年份 例如:1999 或 2003 
    y 2 位数字表示的年份 例如:99 或 03 
    z 年份中的第几天 0 到 366 
    Z 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。 -43200 到 43200 
    格式字串中不能被识别的字符将原样显示。Z 格式在使用 gmdate() 时总是返回 0。 
      

  2.   

    哦 ,刚才看错了,对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。 这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table
               WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;DAYOFWEEK(date) 
    返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。 
    mysql> select DAYOFWEEK('1998-02-03');
            -> 3
     
    WEEKDAY(date) 
    返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。 
    mysql> select WEEKDAY('1997-10-04 22:23:00');
            -> 5
    mysql> select WEEKDAY('1997-11-05');
            -> 2
     
    DAYOFMONTH(date) 
    返回date的月份中日期,在1到31范围内。 
    mysql> select DAYOFMONTH('1998-02-03');
            -> 3DAYOFYEAR(date) 
    返回date在一年中的日数, 在1到366范围内。 
    mysql> select DAYOFYEAR('1998-02-03');
            -> 34MONTH(date) 
    返回date的月份,范围1到12。 
    mysql> select MONTH('1998-02-03');
            -> 2
     
    DAYNAME(date) 
    返回date的星期名字。 
    mysql> select DAYNAME("1998-02-05");
            -> 'Thursday'MONTHNAME(date) 
    返回date的月份名字。 
    mysql> select MONTHNAME("1998-02-05");
            -> 'February'
     
    QUARTER(date) 
    返回date一年中的季度,范围1到4。 
    mysql> select QUARTER('98-04-01');
            -> 2
     
    WEEK(date) 
      
    WEEK(date,first) 
    对于星期天是一周的第一天的地方,有一个单个参数,返回date的周数,范围在0到52。2个参数形式WEEK()允许你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1,从星期一开始。 
    mysql> select WEEK('1998-02-20');
            -> 7
    mysql> select WEEK('1998-02-20',0);
            -> 7
    mysql> select WEEK('1998-02-20',1);
            -> 8YEAR(date) 
    返回date的年份,范围在1000到9999。 
    mysql> select YEAR('98-02-03');
            -> 1998HOUR(time) 
    返回time的小时,范围是0到23。 
    mysql> select HOUR('10:05:03');
            -> 10MINUTE(time) 
    返回time的分钟,范围是0到59。 
    mysql> select MINUTE('98-02-03 10:05:03');
            -> 5SECOND(time) 
    回来time的秒数,范围是0到59。 
    mysql> select SECOND('10:05:03');
            -> 3PERIOD_ADD(P,N) 
    增加N个月到阶段P(以格式YYMM或YYYYMM)。以格式YYYYMM返回值。注意阶段参数P不是日期值。 
    mysql> select PERIOD_ADD(9801,2);
            -> 199803PERIOD_DIFF(P1,P2) 
    返回在时期P1和P2之间月数,P1和P2应该以格式YYMM或YYYYMM。注意,时期参数P1和P2不是日期值。 
    mysql> select PERIOD_DIFF(9802,199703);
            -> 11
        
    DATE_ADD(date,INTERVAL expr type) 
      
    DATE_SUB(date,INTERVAL expr type) 
      
    ADDDATE(date,INTERVAL expr type) 
      
    SUBDATE(date,INTERVAL expr type) 
      

  3.   

    MySQL在expr格式中允许任何标点分隔符。表示显示的是建议的分隔符。如果date参数是一个DATE值并且你的计算仅仅包含YEAR、MONTH和DAY部分(即,没有时间部分),结果是一个DATE值。否则结果是一个DATETIME值。 mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
            -> 1998-01-01 00:00:00
    mysql> SELECT INTERVAL 1 DAY + "1997-12-31";
            -> 1998-01-01
    mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
           -> 1997-12-31 23:59:59 
    mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
                           INTERVAL 1 SECOND);
            -> 1998-01-01 00:00:00
    mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
                           INTERVAL 1 DAY);
            -> 1998-01-01 23:59:59
    mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
                           INTERVAL "1:1" MINUTE_SECOND);
            -> 1998-01-01 00:01:00
    mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
                           INTERVAL "1 1:1:1" DAY_SECOND);
            -> 1997-12-30 22:58:59
    mysql> SELECT DATE_ADD("1998-01-01 00:00:00",
                           INTERVAL "-1 10" DAY_HOUR);
            -> 1997-12-30 14:00:00
    mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
            -> 1997-12-02
    mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");
           -> 1999
    mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
           -> 199907
    mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
           -> 20102如果你指定太短的间隔值(不包括type关键词期望的间隔部分),MySQL假设你省掉了间隔值的最左面部分。例如,如果你指定一个type是DAY_SECOND,值expr被希望有天、小时、分钟和秒部分。如果你象"1:10"这样指定值,MySQL假设日子和小时部分是丢失的并且值代表分钟和秒。换句话说,"1:10" DAY_SECOND以它等价于"1:10" MINUTE_SECOND的方式解释,这对那MySQL解释TIME值表示经过的时间而非作为一天的时间的方式有二义性。如果你使用确实不正确的日期,结果是NULL。如果你增加MONTH、YEAR_MONTH或YEAR并且结果日期大于新月份的最大值天数,日子在新月用最大的天调整。 mysql> select DATE_ADD('1998-01-30', Interval 1 month);
            -> 1998-02-28注意,从前面的例子中词INTERVAL和type关键词不是区分大小写的。  
    TO_DAYS(date) 
    给出一个日期date,返回一个天数(从0年的天数)。 
    mysql> select TO_DAYS(950501);
            -> 728779
    mysql> select TO_DAYS('1997-10-07');
            -> 729669TO_DAYS()不打算用于使用格列高里历(1582)出现前的值。 FROM_DAYS(N) 
    给出一个天数N,返回一个DATE值。 
    mysql> select FROM_DAYS(729669);
            -> '1997-10-07'TO_DAYS()不打算用于使用格列高里历(1582)出现前的值。 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), 这里星期一是星期的第一天 
    %%  一个文字“%”。  所有的其他字符不做解释被复制到结果中。 mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
            -> 'Saturday October 1997'
    mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
            -> '22:23:00'
    mysql> select DATE_FORMAT('1997-10-04 22:23:00',
                              '%D %y %a %d %m %b %j');
            -> '4th 97 Sat 04 10 Oct 277'
    mysql> select DATE_FORMAT('1997-10-04 22:23:00',
                              '%H %k %I %r %T %S %w');
            -> '22 22 10 10:23:00 PM 22:23:00 00 6'
    MySQL3.23中,在格式修饰符字符前需要%。在MySQL更早的版本中,%是可选的。