如果你的数据取出来后放在变量$time里
可以这样来得到前面的
$day=substr($time,0,10);
这样就得到了前十位

解决方案 »

  1.   

    或者更改sql語句:
    select left(dateTime,10) as dateTime from tableName
      

  2.   

    str_replace('-','/',substr($dateTime,5,5));//07/26
    date("m月d日",strtotime($dateTime));//7月26日
      

  3.   

    教你更好的办法,不用字符串,而用整数int unsigned保存时间
    $time = time();
    将 $time 存入数据库,即省空间,又使用灵活,尤其方便时间的比较
    显示时,用
    $str = date('***', $time)
    可以方便地以任何形式显示
      

  4.   

    $strTime="2002-07-26 12:25:52";
    $arr=preg_split("/[- :]0?/", $strTime);
    echo $arr[0]."年".$arr[1]."月".$arr[2]."日";
      

  5.   

    $strTime="2002-07-26 12:25:52";echo date("Y年m月d日",strtotime($strTime));
      

  6.   

    to  rf_wu(你我他) :
    为什么不使用strtotime,是因为会出现2002年07月26日
    而一般习惯是2002年7月26日,即没有0,所以选择pregto LeeMaRS(小菜虎_水壶的仇人):
    正则表达是有点深度的东西,不是一朝一夕的学习。
    除非你以前写过perl,才能看了两遍就会的,至少我不会
    btw: 你知道ereg和preg等的区别所在么?
      

  7.   

    想去掉0,就用n:
    date("n月d日",strtotime($strTime));//7/26
      

  8.   

    秋水不会正则表达式,那就没人会了。要想研究透彻,确实不容易。btw是谁呀?
      

  9.   

    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"综上所述则应该是 "Y年n月j日",
    小时用G,但分钟和秒钟呢?hehe
    btw是by the way的意思
      

  10.   

    从数据库中读取数据时,先格式化数据:
    SELECT date_format('2002-07-26 12:25:52','%Y-%c-%e');
      

  11.   

    to qiushuiwuhen(秋水无恨) : 偶们两个对"会"的理解深度不一样,呵呵,偶只能说是能在查资料的情况下,把正则写出来.下面的是转自y10k的文章:PHP中的Perl兼容正则表达式和Perl/Ereg正则表达式的区别: 
        虽然叫做“Perl兼容正则表达式”,但是和Perl的正则表达式相比,PHP的还是由一些不同,比如修饰符“G”在Perl里面代表全部匹配,但是在PHP中没有加入对这个修饰符的支持。 
        还有就是和ereg系列函数的区别,ereg也是PHP中提供的正则表达式函数,不过和preg相比,要弱上很多。 1、ereg里面是不需要也不能使用分隔符和修饰符的,所以ereg的功能比preg要弱上不少。 
    2、关于".":点在正则里面一般是除了换行符以外的全部字符,但是在ereg里面的"."是任意字符,即包括换行符!如果在preg里面希望"."能够包括换行符,可以在修饰符中加上"s"。 
    3、ereg默认使用贪婪模式,并且不能修改,这个给很多替换和匹配带来麻烦。 
    4、速度:这个或许是很多人关心的问题,会不会preg功能强大是以速度来换取的?不用担心,preg的速度要远远比ereg快,笔者做了一个程序测试: 
    -------------------------------------------------------------- 
    time test:<br> 
    <? 
    echo "Preg_replace used time:"; 
    $start = time(); 
    for($i=1;$i<=100000;$i++) { 
    $str = "ssssssssssssssssssssssssssss"; 
    preg_replace("/s/","",$str); 

    $ended = time()-$start; 
    echo $ended; 
    echo "<br>ereg_replace used time:"; 
    $start = time(); 
    for($i=1;$i<=100000;$i++) { 
    $str = "ssssssssssssssssssssssssssss"; 
    ereg_replace("s","",$str); 

    $ended = time()-$start; 
    echo $ended; 
    echo "<br>str_replace used time:"; 
    $start = time(); 
    for($i=1;$i<=100000;$i++) { 
    $str = "sssssssssssssssssssssssssssss"; 
    str_replace("s","",$str); 

    $ended = time()-$start; 
    echo $ended; 
    ?> 
    结果: 
    Preg_replace used time:5 
    ereg_replace used time:15 
    str_replace used time:2 
    -------------------------------------------------------------- 
        str_replace因为不需要匹配所以速度非常快,而preg_replace的速度比ereg_replace要快上不少。