【发布时间】:2013-12-25 16:49:57
【问题描述】:
我是 php 新手。 我从 2 个 drupal 字段中获取了 2 个日期,每个字段都以其自己的日期格式保存在数据库中,因此格式:
$old_format_starts -> 具有这种日期格式:date('Y-m-d H:i:s'); 和
$old_format_ends -> 具有这种日期格式:date('jS F 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'];
之后,我将这些日期信息转换为以下日期格式:date('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 或strtotime 函数或dates 格式...?
<?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));
}
?>
我真的已经尝试了很多方法..但没有成功..这是相同的代码,但使用了 FOR 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) 做错了什么,因为页面没有加载!
谢谢!!! :)
【问题讨论】:
-
bucle是什么意思?
-
我不知道,但我认为他的意思是一个循环。
标签: php date drupal for-loop while-loop