如何获取当前的日期和时间

如何获取当前的日期和时间,第1张

这是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,谢谢了。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9298348.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存