Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果今天在两个不同的日期之间,则使用PHP进行比较如果是,则打印一个值_Php_Date_Drupal_For Loop_While Loop - Fatal编程技术网

如果今天在两个不同的日期之间,则使用PHP进行比较如果是,则打印一个值

如果今天在两个不同的日期之间,则使用PHP进行比较如果是,则打印一个值,php,date,drupal,for-loop,while-loop,Php,Date,Drupal,For Loop,While Loop,我是php新手。 我从2个drupal字段中获得了2个日期,每个字段都以自己的日期格式保存在数据库中,因此格式: $old_format_start->具有此日期格式:日期('Y-m-d H:i:s')和 $old_format_ends->具有以下日期格式:date('jsf Y H:i:s') 因此,我使用以下代码: $old_format_starts = $entity->field_video_available_d[LANGUAGE_NONE][0]['value']; $ol

我是php新手。 我从2个drupal字段中获得了2个日期,每个字段都以自己的日期格式保存在数据库中,因此格式:

$old_format_start
->具有此日期格式:
日期('Y-m-d H:i:s')

$old_format_ends
->具有以下日期格式:
date('jsf Y H:i:s')

因此,我使用以下代码:

$old_format_starts = $entity->field_video_available_d[LANGUAGE_NONE][0]['value'];
$old_format_ends =  $entity->field_video_until[LANGUAGE_NONE][0]['value'];
之后,我将这些日期信息转换为这个日期格式:日期('Y-m-d');像这样:

$starts =  date("Y-m-d", strtotime($old_format_starts));
$ends = date('Y-m-d', strtotime($old_format_ends));
为了便于以后使用,我可以使用这些信息来比较今天是否在$starts和(&ends)日期之间,如果今天在这些日期之间,那么我将打印一些内容。 这是我使用的全部代码,但是我在日期格式上有问题。。。我做错了一些事情,因为页面只是花了很长时间加载页面,最后它没有加载。。。。当我使用WHILE-bucle时,问题就来了,因为我尝试在WHILE之前使用代码,页面以正常方式加载。因此,我不知道我是否使用了错误的
WHILE
BUCLE或
strotime
函数或
date
s格式

<?php
$old_format_starts = $entity->field_video_available_d[LANGUAGE_NONE][0]['value'];
$old_format_ends =  $entity->field_video_until[LANGUAGE_NONE][0]['value'];

$starts =  date("Y-m-d", strtotime($old_format_starts));
$ends = date('Y-m-d', strtotime($old_format_ends));

$to= date("Y-m-d", strtotime($to));
$i = date("Y-m-d", strtotime($starts));
while ($i <= $ends) {
   if ($i==$to) {
       print date('Y-m-d', strtotime($i));
       break;
    }
    $i=date("Y-m-d", strtotime('+1 day', $i));
}

?>

我真的已经试过很多方法了。。但是没有成功。。。。这里是相同的代码,但使用的是bucle。。。而且也没有成功

<?php
$old_format_starts = $entity->field_video_available_d[LANGUAGE_NONE][0]['value'];
$old_format_ends =  $entity->field_video_until[LANGUAGE_NONE][0]['value'];

$starts =  date("Y-m-d", strtotime($old_format_starts));
$ends = date('Y-m-d', strtotime($old_format_ends));

$to= date("Y-m-d");
for ($i = $starts; $i <= $ends; $i++) {
   if ($i==$to) {
       print $i;
       break;
    }
}
?>

请帮忙!!!!欢迎任何建议!!!必须有一个解决办法。。。因为页面未加载,所以我在bucles
(While)
(FOR)
中出错


谢谢!!!:)

此处不需要while循环 我建议使用DateTime本机类,如下所示:

    $old_format_starts = $entity->field_video_available_d[LANGUAGE_NONE][0]['value'];
    $old_format_ends   = $entity->field_video_until[LANGUAGE_NONE][0]['value'];

    $starts = DateTime::createFromFormat('Y-m-d H:i:s', $old_format_starts);
    $ends   = DateTime::createFromFormat('jS F Y H:i:s', $old_format_ends);
    $today  = new DateTime() ;

    if(($today > $start) && ($today < $end)){
        //Do your thing
    }
$old\u format\u start=$entity->field\u video\u available\u d[LANGUAGE\u NONE][0]['value'];
$old_format_ends=$entity->field_video_直到[LANGUAGE_NONE][0]['value'];
$starts=DateTime::createFromFormat('Y-m-dh:i:s',$old\u format\u start);
$ends=DateTime::createFromFormat('jS F Y H:i:s',$old\u format\u ends);
$today=新日期时间();
如果(($today>$start)&($today<$end)){
//做你的事
}

此处不需要while循环 我建议使用DateTime本机类,如下所示:

    $old_format_starts = $entity->field_video_available_d[LANGUAGE_NONE][0]['value'];
    $old_format_ends   = $entity->field_video_until[LANGUAGE_NONE][0]['value'];

    $starts = DateTime::createFromFormat('Y-m-d H:i:s', $old_format_starts);
    $ends   = DateTime::createFromFormat('jS F Y H:i:s', $old_format_ends);
    $today  = new DateTime() ;

    if(($today > $start) && ($today < $end)){
        //Do your thing
    }
$old\u format\u start=$entity->field\u video\u available\u d[LANGUAGE\u NONE][0]['value'];
$old_format_ends=$entity->field_video_直到[LANGUAGE_NONE][0]['value'];
$starts=DateTime::createFromFormat('Y-m-dh:i:s',$old\u format\u start);
$ends=DateTime::createFromFormat('jS F Y H:i:s',$old\u format\u ends);
$today=新日期时间();
如果(($today>$start)&($today<$end)){
//做你的事
}

此处不需要while循环 我建议使用DateTime本机类,如下所示:

    $old_format_starts = $entity->field_video_available_d[LANGUAGE_NONE][0]['value'];
    $old_format_ends   = $entity->field_video_until[LANGUAGE_NONE][0]['value'];

    $starts = DateTime::createFromFormat('Y-m-d H:i:s', $old_format_starts);
    $ends   = DateTime::createFromFormat('jS F Y H:i:s', $old_format_ends);
    $today  = new DateTime() ;

    if(($today > $start) && ($today < $end)){
        //Do your thing
    }
$old\u format\u start=$entity->field\u video\u available\u d[LANGUAGE\u NONE][0]['value'];
$old_format_ends=$entity->field_video_直到[LANGUAGE_NONE][0]['value'];
$starts=DateTime::createFromFormat('Y-m-dh:i:s',$old\u format\u start);
$ends=DateTime::createFromFormat('jS F Y H:i:s',$old\u format\u ends);
$today=新日期时间();
如果(($today>$start)&($today<$end)){
//做你的事
}

此处不需要while循环 我建议使用DateTime本机类,如下所示:

    $old_format_starts = $entity->field_video_available_d[LANGUAGE_NONE][0]['value'];
    $old_format_ends   = $entity->field_video_until[LANGUAGE_NONE][0]['value'];

    $starts = DateTime::createFromFormat('Y-m-d H:i:s', $old_format_starts);
    $ends   = DateTime::createFromFormat('jS F Y H:i:s', $old_format_ends);
    $today  = new DateTime() ;

    if(($today > $start) && ($today < $end)){
        //Do your thing
    }
$old\u format\u start=$entity->field\u video\u available\u d[LANGUAGE\u NONE][0]['value'];
$old_format_ends=$entity->field_video_直到[LANGUAGE_NONE][0]['value'];
$starts=DateTime::createFromFormat('Y-m-dh:i:s',$old\u format\u start);
$ends=DateTime::createFromFormat('jS F Y H:i:s',$old\u format\u ends);
$today=新日期时间();
如果(($today>$start)&($today<$end)){
//做你的事
}

如果您直接比较这些值,它将起作用
strotime()
strotime()
strotime()
strotime()
返回简单的整数和
>/比塞是什么意思?我不知道,但我认为他是指一个循环。比塞是什么意思?我不知道,但我认为他是指一个循环。比塞是什么意思?我不知道,但我认为他是指一个循环。比塞是什么意思?我不知道,但我想他指的是循环。实际上,我只是在$today=new Datetime()之前才尝试过你的代码;代码行,以检查问题是否与(if)有关,但不是!!错误与日期时间有关。现在页面没有加载,并带来了下一个错误:可恢复致命错误:类DateTime的对象无法在eval()中转换为字符串您好!!谢谢你们两个!!问题解决了!!!我接受了阿明的建议,效果很好。我只是用错误的方式打印了结果。谢谢你,阿明!实际上,我只在$today=new Datetime()之前尝试过你的代码;代码行,以检查问题是否与(if)有关,但不是!!错误与日期时间有关。现在页面没有加载,并带来了下一个错误:可恢复致命错误:类DateTime的对象无法在eval()中转换为字符串您好!!谢谢你们两个!!问题解决了!!!我接受了阿明的建议,效果很好。我只是用错误的方式打印了结果。谢谢你,阿明!实际上,我只在$today=new Datetime()之前尝试过你的代码;代码行,以检查问题是否与(if)有关,但不是!!错误与日期时间有关。现在页面没有加载,并带来了下一个错误:可恢复致命错误:类DateTime的对象无法在eval()中转换为字符串您好!!谢谢你们两个!!问题解决了!!!我接受了阿明的建议,效果很好。我只是用错误的方式打印了结果。谢谢你,阿明