这是php的方法
1、获取当前时间方法date()
很简单,这就是获取时间的方法,格式为:date($format, $timestamp),format为格式、timestamp为时间戳--可填参数。
2、获取时间戳方法time()、strtotime()
这两个方法,都可以获取php中unix时间戳,time()为直接获取得到,strtotime($time, $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日
本周周一的日期:
$ts = time();$this_monday = this_monday($ts);
echo date('Y-m-d H:i:s', $this_monday);
//这个星期的星期一
// @$timestamp ,某个星期的某一个时间戳,默认为当前时间
// @is_return_timestamp ,是否返回时间戳,否则返回时间格式
function this_monday($timestamp=0,$is_return_timestamp=true){
static $cache ;
$id = $timestamp$is_return_timestamp;
if(!isset($cache[$id])){
if(!$timestamp) $timestamp = time();
$monday_date = date('Y-m-d', $timestamp-86400date('w',$timestamp)+(date('w',$timestamp)>086400:-/686400/518400));
if($is_return_timestamp){
$cache[$id] = strtotime($monday_date);
}else{
$cache[$id] = $monday_date;
}
}
return $cache[$id];
}
上周一的函数则为
$ts = time();$last_monday = last_monday($ts);
echo date('Y-m-d H:i:s', $last_monday);
//上周一
// @$timestamp ,某个星期的某一个时间戳,默认为当前时间
// @is_return_timestamp ,是否返回时间戳,否则返回时间格式
function last_monday($timestamp=0,$is_return_timestamp=true){
static $cache ;
$id = $timestamp$is_return_timestamp;
if(!isset($cache[$id])){
if(!$timestamp) $timestamp = time();
$thismonday = this_monday($timestamp) - /786400/604800;
if($is_return_timestamp){
$cache[$id] = $thismonday;
}else{
$cache[$id] = date('Y-m-d',$thismonday);
}
}
return $cache[$id];
}
可以生成具体时间的时间戳例如 2011-07-01 15:00:38 生成指定日期的时间戳 具体你可以参造一下php手册的time函数--这个是生成当前时间的时间戳date函数---这个可以生成指定日期及格式化日期mktime函数---这个函数是生成指定日期的时间戳的
问题不清晰,我来猜猜楼主的意图。 估计楼主在date的使用上遇到问题了,导致看不到预想的结果。 这里我提供一下解决问题的思路,楼主可以将以上格式一个一个地去测试,看看是哪个出了问题。 因为有些格式的适用场合被限定了,浏览器不一定去支持。 追问: 不是,php获取date(time())的是一串数字,也就是时间戳。现在就是将获得的时间戳转换成,能够直观的时间,也就是 xxxx年xx月xx日xx时xx分xx秒 ,这种形式。 举个例子: $i=date(time());//举例:我获得的时间为 101012314 ,而这个101012314时间戳对应的是2000年3月8日15时15分10秒 我要的就是讲获取的时间戳转换成直观能够看明白的时间,也就是2000年3月8日15时15分10秒 回答: string date ( string $format [, int $timestamp ] ) 返回将整数 timestamp按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp是可选的,默认值为 time()。 根据API说明,很明显,date的第一个参数应该是格式化字符串,你用得稍有偏差。 我给个简单例子。 <php echo date( "Y年m月d日H时i分s秒" ); 补充: 是不是感觉你自己已经把答案写了出来了呢?却还要提问,我真有点搞不懂。 追问: 孩子,我当然知道date( "Y年m月d日H时i分s秒" );就是将当前时间显示出来,我的目的是,我要获取当前date(time())然后我会加个数,然后将加数后的时间戳再转换成date( "Y年m月d日H时i分s秒" );这种形式显示。可能你还不明白我的目的,所以才会误解 回答: int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] ) 根据给出的参数返回 Unix 时间戳。时间戳是一个长整数,包含了从 Unix 纪元(January 1 1970 00:00:00 GMT)到给定时间的秒数。 补充: time()之后加一个数就可以了,不明白为什么还需要变成date后,再变回时间戳?那不是更麻烦吗? 追问: 怎么加啊,date(time())怎么加数啊 回答: 你想怎么加? 追问: date(time())是获取当前时间,例如说,我要加在这上加上10秒,怎么加 回答: date( "Y年m月d日H时i分s秒",time()+10 );
求采纳
在MySQL中完成 。
下面介绍两种php将指定日期转换为时间戳的方法:
第一种:在MySQL中完成
这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能用在数据库查询中,有局限性。
UNIX时间戳转换为日期用函数: FROM_UNIXTIME()
一般形式:select FROM_UNIXTIME(1156219870);
日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP()
一般形式:Select UNIX_TIMESTAMP('2006-11-04 12:23:00′);
举例:mysql查询当天的记录数:
$sql=”select from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') order by id desc”;
当然大家也可以选择在PHP中进行转换,下面说说在PHP中转换。
第二种:在PHP中完成 这种方式在PHP程序中完成转换,优点是无论是不是数据库中查询获得的数据都能转换,转换范围不受限制,缺点是占用PHP解析器的解析时间,速度相对慢。
UNIX时间戳转换为日期用函数: date() 一般形式:date('Y-m-d H:i:s', 1156219870);
日期转换为UNIX时间戳用函数:strtotime() 一般形式:strtotime('2010-03-24 08:15:42')
php中时间转换函数strtotime(date()) date("Y-m-d H:i",$unixtime)
php中获得今天零点的时间戳 要获得零点的unix时间戳,可以使用$todaytime=strtotime(“today”),然后再使用date("Y-m-d H:i",$todaytime)转换为日期。
时间戳转换函数:date("Y-m-d H:i:s",time()),"Y-m-d H:i:s"是转换后的日期格式,time()是获得当前时间的时间戳。如果是date("Y-m-d H:i:s",time()),则小时分秒一起显示;如果是date("Y-m-d ", time()),只显示年月日。例如:date("Y-m-d H:i:s",time())转换后为:2010-07-18 18:42:48 date("Y-m-d",time())。
$str
=
'2009-03-30
11:10:05';
$timestamp
=
strtotime($str);
date('Y-m-d',
$timestamp);
简单写就是这样:
date('Y-m-d',
strtotime('2009-03-30
11:10:05'));
输出是:2009-03-30
(注意格式里的"Y-m-d"的大小写。)
以上就是关于如何获取当前的日期和时间全部的内容,包括:如何获取当前的日期和时间、PHP怎样获得最近一个周一和上周一的日期、php 时间戳,能够取得具体时间量的时间错值吗例如10分钟的时间戳是多少刚接触php,谢谢了。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)