PHP时间戳与时间问题

PHP时间戳与时间问题,第1张

<php

 

/

 

  Copyright (c) 2011 Baiducom, Inc All Rights Reserved

  $Id$

 

 /

 

 

 

//时间戳转日期

$date_time_array = getdate(1297845628); //1311177600  1316865566

$hours = $date_time_array["hours"];

$minutes = $date_time_array["minutes"];

$seconds = $date_time_array["seconds"];

$month = $date_time_array["mon"];

$day = $date_time_array["mday"];

$year = $date_time_array["year"];

 

echo "year:$year\nmonth:$month\nday:$day\nhour:$hours\nminutes:$minutes\nseconds:$seconds\n";

 

//正常日期转时间戳

echo mktime(0, 0, 0, 9, 18, 2011)  "\n";

echo mktime(0, 0, 0, 9, 25, 2011)  "\n";

 

/

time();

是获得当前时间,但获得的是一整型

/

//可以对此进行格式化

echo "time()显示年月日时分秒:"  date("Y-m-d H:i:s", time())  "\n";

//这样连时,分秒一起显示

echo "time()只显示年月日:"  date("Y-m-d ", time())  "\n"; //只年示年月日

 

echo "时间戳格式化:"  date("Y-m-d H:i:s", 1297845628)  "\n"; //直接使用时间戳

 

/ vim: set ts=4 sw=4 sts=4 tw=100 noet: /

>

希望可以帮到你

一、使用函式 date() 实现

在编辑器中输入<php echo $showtime=date("Y-m-d H:i:s");>,点击回车就可以得知当前的时间。其中Y是代表4位的年份,H是24小时制,i 是分钟,如: "00" 至 "59" 。s -是秒,如: "00" 至 "59" 。

d 是几日,二位数字,若不足二位则前面补零。 如: "01" 至 "31" 。m代表月份,二位数字,若不足二位则在前面补零,如: "01" 至 "12" 。

二、使用time函数

在编辑器中输入echo date("y-m-d",$time)点击回车就可以得知当前的时间,其中Y是代表4位的年份,m代表月份,二位数字,若不足二位则在前面补零,如: "01" 至 "12" 。d 是几日,二位数字,若不足二位则前面补零。 如: "01" 至 "31" 。

三、使用strftime函数

在编辑器中输入echo strftime ("%hh%m %a %d %b" ,time());点击回车就可以得知当前的时间。

扩展资料:

Date/Time 函数

一、time — 返回当前的 Unix 时间戳

二、timezone_abbreviations_list — 别名 DateTimeZone::listAbbreviations

三、timezone_identifiers_list — 别名 DateTimeZone::listIdentifiers

四、timezone_location_get — 别名 DateTimeZone::getLocation

五、date — 格式化一个本地时间/日期

六、getdate — 取得日期/时间信息

七、gettimeofday — 取得当前时间

八、gmdate — 格式化一个 GMT/UTC 日期/时间

九、gmmktime — 取得 GMT 日期的 UNIX 时间戳

参考资料:

百度百科——PHP

代码如下

<php

$date_str = "明天下午两点半";

$date_str = "后天早上八点三十一";

echo $date_str"&nbsp;&nbsp;";

date_default_timezone_set("PRC");

//获取当天零点的时间戳

$time = strtotime(date("Y-m-d"));

//数字中文对照

$num_lang=array('零', '一', '二|两', '三', '四', '五', '六', '七', '八', '九', 30=>'半');

//时间段中文言对照

$date_lang=array(

array("下午|晚上|深夜", 360012),

array("凌晨|上午|早晨|早上", 0),

array("大后天", 3600243),

array("大前天", -3600243),

array("后天", 3600242),

array("前天", -3600242),

array("明天", 360024),

array("昨天", -360024),

);

//累加移动的时间差

$tmp_str = $date_str;

foreach ($date_lang as $date ) {

$lang_str = $date[0];

$lang_arr = explode("|", $lang_str);

$period = $date[1];

foreach ($lang_arr as $lang ) {

if (strpos($tmp_str, $lang)!==false) {

$time += $period;  

$tmp_str = str_replace($lang, "", $tmp_str);

}

}

}

//中文替换成数字

foreach ($num_lang as $num => $lang_str) {

$lang_arr =explode("|", $lang_str);

foreach ($lang_arr as $lang) {

$tmp_str = str_replace($lang, $num, $tmp_str);

}

}

$tmp_str = preg_replace('/(\d+)十(\d)/', "$1$2",$tmp_str);

$tmp_str = preg_replace('/(\d+)十/', "\${1}0", $tmp_str);

$tmp_str = preg_replace('/十(\d)/', "1$1", $tmp_str);

//捕获时分

preg_match('/(\d+)点(\d)/', $tmp_str, $hur_min);

$hour = (int) $hur_min[1];

$min = (int) $hur_min[2];

$time += $hour3600+($min60);

//输出结果

print_r(date("Y-m-d H:i", $time));

>

首先

一楼回答有误,事实上php和网页完全无关。

“打开网页”这个 *** 作仅仅就是给服务器发送信息,然后服务器执行php。

php可以直接在shell上作为脚本执行,也可以用网页启动后关闭网页照样执行。

然后回答楼主的问题

楼主你的要求,可是程序到达24:00这个时间则关闭?

那根本就不需要记录启动的时间,只要到达24点就执行关闭即可。

写一个死循环

<php

ignore_user_abort(); // 使php可以在后台运行

set_time_limit(0); // 取消php的响应时间

do{

$time=date('h:i');//获得当前时间

if($time=="24:00")//到达时间则退出循环

break;

sleep(1000); // 每秒运行一次

}while(true);

>

修改该程序即可达到你要的效果。如果你的要求是,一定要第二天24点才退出,那么请把date写成date('Y-M-D h:i')

然后使用split方法拆解计算日期

以上就是关于PHP时间戳与时间问题全部的内容,包括:PHP时间戳与时间问题、php中如何获得当前时间、将自然语言的日期用PHP解析等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存