如果今天在两个不同的日期之间,则使用PHP进行比较如果是,则打印一个值
我是php新手。 我从2个drupal字段中获得了2个日期,每个字段都以自己的日期格式保存在数据库中,因此格式:如果今天在两个不同的日期之间,则使用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
$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()中转换为字符串您好!!谢谢你们两个!!问题解决了!!!我接受了阿明的建议,效果很好。我只是用错误的方式打印了结果。谢谢你,阿明