关于unixstamp的问题?有请各路高手,绝对不简单的问题

phplover 2003-06-13 10:24:37
大家知道:
date("Y-m-d H:i:s",0);
这样得到的是1970-01-01 08:00:00,也就是说date函数是根据系统时钟得到的日期和时间,现在我的问题就是:
要求根据某个时间戳记取得对应的日期和时间,这个日期和时间跟操作系统的时区没有关系,只跟你自己设置的时区参数有关系。
要求写一个函数,如:
function getDate($unixtime,$zoneNum=8){//这里$zoneNum是根据你所处地区的时区

}


搞定了100分
...全文
67 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
phplover 2003-06-16
  • 打赏
  • 举报
回复
不过少了一个括号而已
phplover 2003-06-16
  • 打赏
  • 举报
回复
不好意思
owen_young()第二个函数正确,不错。

哈哈,又学到一个函数gmdate,谢谢

给分
phplover 2003-06-16
  • 打赏
  • 举报
回复
Owen_Young() 的还是跟系统的时区有关系,所以不正确
Owen_Young 2003-06-15
  • 打赏
  • 举报
回复
<?php
function myDate($unixtime,$zoneNum=8) {
return gmdate("Y-m-d H:i:s",($unixtime+$zoneNum*3600);
}
phplover 2003-06-13
  • 打赏
  • 举报
回复
xuzuning(唠叨)的好像不对吧

如果有的时区为负值呢,而date("H",0)返回的值始终是正值
xuzuning 2003-06-13
  • 打赏
  • 举报
回复
<?php
function myDate($unixtime,$zoneNum=8) {
$h = date("H",0);
return date("Y-m-d H:i:s",$unixtime+($zoneNum-$h)*3600);
}
echo myDate(time()); // 2003-06-13 12:07:54
echo myDate(time(),0); // 2003-06-13 04:07:54
?>
ashchen 2003-06-13
  • 打赏
  • 举报
回复
两个相邻的时区之间不就是相差3600秒吗?呵呵
vivanboy 2003-06-13
  • 打赏
  • 举报
回复
换一个函数名吧,php已经有了

function getDateTime($unixtime,$zoneNum=8){
$t=$unixtime-date("Z")+$zoneNum*3600;
if($t>0)return date("Y-m-d H:i:s",$t);
else return -1;
}
echo getDateTime(time(),0);//GMT时间
echo "<BR>";
echo getDateTime(time());//北京时间
phplover 2003-06-13
  • 打赏
  • 举报
回复
现在的要求就是做到跟系统的时区没有关系
phplover 2003-06-13
  • 打赏
  • 举报
回复
也就是说date函数是跟系统的时区有关系的
Owen_Young 2003-06-13
  • 打赏
  • 举报
回复
<?php
function myDate($unixtime,$zoneNum=8) {
return date("Y-m-d H:i:s",($unixtime/3600+$zoneNum)*3600);
}
phplover 2003-06-13
  • 打赏
  • 举报
回复
用vivanboy(从不睡懒觉的鸟儿)的date("Z")比较准确

不过,还有没有其它比较经典的算法阿?一步一步来求,尽量不要根据php的时间函数来计算!

搞定了我开帖给分

这个帖应该算是比较经典的吧
phplover 2003-06-13
  • 打赏
  • 举报
回复
比方说在GMT时间1970-01-01 00:00:00的时候-1区的date("H",0)是23,你这里8-23就不正确了,8-23相差15个小时,而实际上只是相差8-(-1)=9个小时
phplover 2003-06-13
  • 打赏
  • 举报
回复
我在手册上看的阿,明明是:
H - hour, 24-hour format; i.e. "00" to "23"
就是00-23,根本没有负值,也不是什么服务器端的时差。

你这里指的时差是什么?

比方说1970-1-1 00:00:00的时候-1区的date("H",0)是23,你这里8-23就不正确了
xuzuning 2003-06-13
  • 打赏
  • 举报
回复
date("H",0) 返回的是服务器端的时差
要从给定的时区中扣除的$zoneNum-$h
phplover 2003-06-13
  • 打赏
  • 举报
回复
vivanboy(从不睡懒觉的鸟儿)的函数可以

还有没有其他方法,各位继续
内容概要:本文提出了一种针对越野环境下车辆驾驶风险规避的运动规划算法,并通过Matlab实现仿真验证。该算法致力于在复杂未知地形中为车辆规划出安全、高效的行驶路径,重点应对由障碍物、陡坡、侧倾等引起的多重驾驶风险。通过融合车辆动力学建模与环境风险评估机制,构建包含环境建模、多维度风险代价函数设计、路径搜索优化及动态调整策略在内的完整框架,实现了对复杂越野环境的强适应性与路径安全性保障。算法不仅关注路径的可达性,更强调行驶过程中的稳定性与风险最小化,确保车辆在挑战性场景下仍能实现可靠导航。; 适合人群:具备一定编程基础,熟悉Matlab工具,从事自动驾驶、智能车辆、路径规划等相关领域研究的研发人员及研究生。; 使用场景及目标:①应用于野外自动驾驶系统中的实时路径规划;②用于高风险地形下无人车、救援机器人等移动平台的运动控制;③为复杂环境下智能交通系统提供风险规避策略参考;④作为科研教学案例,帮助理解路径规划与风险评估的融合方法。; 阅读建议:读者应结合Matlab代码与文中算法流程逐步理解其实现逻辑,重点关注风险建模与路径优化的结合方式,并可通过修改环境参数与车辆模型进行仿真实验,以深入掌握算法特性与调优方法。

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧