php 时间判断问题?

YLMuMu 2010-04-28 04:57:30
content = file_get_contents("C:/system.stmp");

list($authorized,$times)=explode("/",$content);

// echo $authorized;
//echo $times;
if($authorized=="8a0e6cbd1d6c7deeac875a6774bddb11"){
// echo "你好";
// $nowdate=mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"));

$nowdate=date("Y-m-d");

if(strtotime("$times+30 day") >= $nowdate)
{
//header('Location: error.php');

echo "试用期已过!";
echo $nowdate.$times;
}
else
{
echo "试用期没过!";
echo $nowdate.$times;
//header('Location: index.php');
}
}



system.stmp 里面的东西是:8a0e6cbd1d6c7deeac875a6774bddb11/2010-03-28


上面那个判断不对啊 如果时间相等的话 还是会显示 "试用期已过
...全文
264 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
餅餅 2010-04-29
  • 打赏
  • 举报
回复
有那么纠结么

<?php
$content = "8a0e6cbd1d6c7deeac875a6774bddb11/2010-03-28";
list($authorized,$times)=explode("/",$content);
$nowdate=date("Y-m-d");
if($authorized=="8a0e6cbd1d6c7deeac875a6774bddb11"){
if(date("Y-m-d",strtotime("$times +32 day")) >= $nowdate){
echo "试用期已过!"."<br>";
}else{
echo "试用期没过!"."<br>";
}
}
?>
YLMuMu 2010-04-29
  • 打赏
  • 举报
回复
两个时间相减 ??
YLMuMu 2010-04-29
  • 打赏
  • 举报
回复
if($_POST['submit']){
$content = file_get_contents("C:/system.stmp");

list($authorized,$times)=explode("/",$content);

$date1=strtotime('+30 day');

$dates=$date1+$times;
if($authorized=="8a0e6cbd1d6c7deeac875a6774bddb11"){

//if(strtotime("$times+30 day") >= time())
if($dates-time()>=$date1)
{
//echo strtotime("+30 day")."<br>";
echo "试用期已过!"."<br>";

}
else
{
//echo strtotime("+30 day")."<br>".time()."<br>";
// echo $dates."..........";
echo "试用期没过!"."<br>";

//echo $dates-time();



}
}

}


还是不对啊 挺郁闷的啊
huboy 2010-04-29
  • 打赏
  • 举报
回复
应该用 时间戳来解决这个 问题
YLMuMu 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 bing19870624 的回复:]
引用 12 楼 ylmumu 的回复:
上面的方法 我都测试错了啊 反正 时间超过了 有时说没过啊 没过 说过了啊

我测试OK啊 楼主是不是弄错了 2010-03-28 加上30天是4月27号
[/Quote]


真的还是假啊 我怎么测试 都是错误的哦啊
YLMuMu 2010-04-29
  • 打赏
  • 举报
回复
$content = file_get_contents("install/data/system.stmp");
list($authorized,$times)=explode("/",$content);

if($authorized=="8a0e6cbd1d6c7deeac875a6774bddb11"){
$news = (((time() - $times)/60)/60)/24;
if($news>=30)
{
header('Location: error.php');
}
else
{
header('Location: main.php');
}
}

已经搞定了啊 谢谢
YLMuMu 2010-04-28
  • 打赏
  • 举报
回复
if(strtotime("$times+30 day") >= time())
转身 2010-04-28
  • 打赏
  • 举报
回复
用时间戳吧,这没法比
转身 2010-04-28
  • 打赏
  • 举报
回复
content = file_get_contents("C:/system.stmp");
应该是
$content = file_get_contents("C:/system.stmp");
餅餅 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ylmumu 的回复:]
上面的方法 我都测试错了啊 反正 时间超过了 有时说没过啊 没过 说过了啊
[/Quote]
我测试OK啊 楼主是不是弄错了 2010-03-28 加上30天是4月27号
YLMuMu 2010-04-28
  • 打赏
  • 举报
回复
上面的方法 我都测试错了啊 反正 时间超过了 有时说没过啊 没过 说过了啊
餅餅 2010-04-28
  • 打赏
  • 举报
回复
瞬间这么多人回复 - -
餅餅 2010-04-28
  • 打赏
  • 举报
回复
if(date("Y-m-d",strtotime("$times +30 day")) >= $nowdate)
YLMuMu 2010-04-28
  • 打赏
  • 举报
回复
你们的意思 是 它们两个的 (时间表达方式 不同) 不好比较是吗
jianglin28290 2010-04-28
  • 打赏
  • 举报
回复
或者你只改这个$nowdate=time();也可以
jianglin28290 2010-04-28
  • 打赏
  • 举报
回复
$nowdate=time();

if(strtotime("$times")+30*24*3600 >= $nowdate)
{
//header('Location: error.php');

echo "试用期已过!";
echo $nowdate.$times;
YLMuMu 2010-04-28
  • 打赏
  • 举报
回复
你的意思说它们两个不好比较的啊
xuzuning 2010-04-28
  • 打赏
  • 举报
回复
list($authorized,$times)=explode("/", trim($content));
if($authorized == "8a0e6cbd1d6c7deeac875a6774bddb11") {
if(date('Y-m-d', strtotime("$times +30 day")) >= date('Y-m-d')) {
echo "试用期已过!";
}
}
PIGer920 2010-04-28
  • 打赏
  • 举报
回复
strtotime("$times+30 day") 返回的是timestamp
$nowdate=date("Y-m-d"); 是“2010-01-01”这种形式
你直接比较这2个大小。。。
床上等您 2010-04-28
  • 打赏
  • 举报
回复
应该用 时间戳来解决这个 问题
加载更多回复(2)

21,886

社区成员

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

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