如何只显示Y-m-d,而不显示H:i:s 如果你的数据取出来后放在变量$time里可以这样来得到前面的$day=substr($time,0,10);这样就得到了前十位 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 或者更改sql語句:select left(dateTime,10) as dateTime from tableName str_replace('-','/',substr($dateTime,5,5));//07/26date("m月d日",strtotime($dateTime));//7月26日 教你更好的办法,不用字符串,而用整数int unsigned保存时间$time = time();将 $time 存入数据库,即省空间,又使用灵活,尤其方便时间的比较显示时,用$str = date('***', $time)可以方便地以任何形式显示 $strTime="2002-07-26 12:25:52";$arr=preg_split("/[- :]0?/", $strTime);echo $arr[0]."年".$arr[1]."月".$arr[2]."日"; $strTime="2002-07-26 12:25:52";echo date("Y年m月d日",strtotime($strTime)); to rf_wu(你我他) :为什么不使用strtotime,是因为会出现2002年07月26日而一般习惯是2002年7月26日,即没有0,所以选择pregto LeeMaRS(小菜虎_水壶的仇人):正则表达是有点深度的东西,不是一朝一夕的学习。除非你以前写过perl,才能看了两遍就会的,至少我不会btw: 你知道ereg和preg等的区别所在么? 想去掉0,就用n:date("n月d日",strtotime($strTime));//7/26 秋水不会正则表达式,那就没人会了。要想研究透彻,确实不容易。btw是谁呀? 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,但分钟和秒钟呢?hehebtw是by the way的意思 从数据库中读取数据时,先格式化数据:SELECT date_format('2002-07-26 12:25:52','%Y-%c-%e'); 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要快上不少。 PHP EXCEL的导入导出 phpmyadmin 帮我看看这段代码 求一个sql表达式,搜索某数据表中的email字段,用正则表达式排除不正规的mail地址。并且排除新浪的邮箱号 如何用php连接文件DSN 在PHP中,怎样比较两个日期相距有多少天啊? 问关于Mysql的问题,高手请进>>>> 我想做一个在线人数的统计,可遇到一个问题不能解决。 高分求教:关于FTP上传本地文件的问题! 除了增删改查,你还会些什么 如何帧之间传递表单提交后的值? 在windows下php还有机会吗?
select left(dateTime,10) as dateTime from tableName
date("m月d日",strtotime($dateTime));//7月26日
$time = time();
将 $time 存入数据库,即省空间,又使用灵活,尤其方便时间的比较
显示时,用
$str = date('***', $time)
可以方便地以任何形式显示
$arr=preg_split("/[- :]0?/", $strTime);
echo $arr[0]."年".$arr[1]."月".$arr[2]."日";
为什么不使用strtotime,是因为会出现2002年07月26日
而一般习惯是2002年7月26日,即没有0,所以选择pregto LeeMaRS(小菜虎_水壶的仇人):
正则表达是有点深度的东西,不是一朝一夕的学习。
除非你以前写过perl,才能看了两遍就会的,至少我不会
btw: 你知道ereg和preg等的区别所在么?
date("n月d日",strtotime($strTime));//7/26
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的意思
SELECT date_format('2002-07-26 12:25:52','%Y-%c-%e');
虽然叫做“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要快上不少。