function dayofyear(d) { // d is a Date object
var yn = d.getFullYear();
var mn = d.getMonth();
var dn = d.getDate();
var d1 = new Date(yn,0,1,12,0,0); // noon on Jan. 1
var d2 = new Date(yn,mn,dn,12,0,0); // noon on input date
var ddiff = Math.round((d2-d1)/864e5);
return ddiff+1; }
然后,进行比较
var curdate=new Date(); // gets today's date
var cdnum=dayofyear(curdate);
if ( cdnum < 79) { season = "winter"; }
else if ( cdnum < 171) { season = "spring"; }
else if ( cdnum < 265) { season = "summer"; }
else if ( cdnum < 354) { season = "autumn"; }
else season = "winter";
“css/spring.css”,
“summer” => “css/summer.css”,
“autumn” => “css/autumn.css”,
“winter” => “css/winter.css”
);
// What is today’s date – number
$day = date(“z”);
// Days of spring
$spring_starts = date(“z”, strtotime(“March 21”));
$spring_ends = date(“z”, strtotime(“June 20”));
// Days of summer
$summer_starts = date(“z”, strtotime(“June 21”));
$summer_ends = date(“z”, strtotime(“September 22”));
// Days of autumn
$autumn_starts = date(“z”, strtotime(“September 23”));
$autumn_ends = date(“z”, strtotime(“December 20”));
// If $day is between the days of spring, summer, autumn, and winter
if( $day >= $spring_starts && $day = $summer_starts && $day = $autumn_starts && $day```
在秋季,我偶然将秋季开始日期设为 9 月 22 日。需要更改为 9 月 23 日。
已修复。
为了提高效率,最好直接知道每个季节的开始日期是哪一天,然后进行比较。比如:
<php
$day = date(“z”);
if( $day < 79) $season = "winter";
elseif( $day < 171) $season = "spring";
elseif( $day < 265) $season = "summer";
elseif( $day < 354) $season = "autumn";
else $season = "winter";
?>
是的……或者
$today = getdate();
$today = $today[‘mon’];
if ($today>=1 && $today=3 && $today=6 && $today<=8) return 'summer';
else return 'autumn';
天啊……抱歉
=1 && $today=3 && $today=6 && $today
Adam 说错了,因为这在每年都会变化。
闰年,春季实际上从第 172 天开始(因为二月多了一天,2 月 29 日)。所以除了冬季之外,每个季节都会延后一天。明年,又会恢复正常。
但是你说得对,这样做可能效率更高。
非常棒,比上面的方法简单
我在使用这个脚本时遇到了一些问题。
我在网页所在的同一目录中创建了一个 PHP 文件“current_season.php”。
我在网页中包含了
<?php include 'current_season.php'; ?&rt;
我在网页中包含了
<img src="<?php current_season() ?&rt;"&rt;<
但它不起作用。
请帮忙吗?
此外,即使我在网页的头部放置 PHP 脚本,当我尝试显示图像时它也不起作用。
我想把 PHP 脚本放在一个 .php 文件中,而不是放在每个页面上。
此外,文件名称与脚本中的一致:“spring、summer、autumn 和 winter”,并且位于同一目录中的“images”文件夹中。
如何更改它来进行时间检查,如果是上午,显示上午图像,如果是晚上,显示晚上图像……
您可以将此用于白天/黑夜切换。 http://bit.ly/bEB7x1 这样,您可以根据时间切换 CSS 文件(如果图像是一个背景图像等,这将有效)。
Sean,
在此代码部分
<img src="” alt=”” />
确保在 current_season() 结尾处有一个“;”。
更正后
<img src="” alt=”” />
希望这对您有所帮助,当我使用它时,我能够很好地显示图像。
使用此代码在一年中 26 次更改页面标题。我发现如果您设置一个开始日期,比如 12 月 21 日,然后设置一个结束日期,比如 1 月 4 日——目的是跨越从旧年到新年的时间——由于此代码不包括年份——当它尝试计算是哪一天时,会弄乱计算……
大家好,我在我的 firebug 对话框中出现错误。
当我将鼠标悬停在以下行时,加载给定 URL 失败。
<img src="” alt=”” />
我已经将图像上传到正确的文件夹。
有建议吗?
我很想用一个 css 文件来完成同样的脚本。这有多难?
JavaScript 可以帮您做到这一点;)
首先,定义一个函数(由来自 http://www.webdeveloper.com/forum/showthread.php?t=125428 的 Juuitchan 编写)
然后,进行比较
借助 jQuery 的简单帮助(或者您可以使用其他库),您可以将季节类添加到所需的对象
您可以使用(几乎)完全相同的 PHP。代替图像文件路径,请指定 CSS 文件路径。您可能希望将
$image_path
更改为$css_path
,仅为了清晰起见。然后在您的 HTML 中,不要使用
<img src="<?php current_season() ?>" alt="" />
在页面的
<body>
中,只需使用<link rel="stylesheet" href="<?php current_season() ?>" type="text/css" />
在页面的
<head>
中。只需确保 PHP 出现在 CSS 链接之前。
如果您提供有关发布的文章的演示……这将非常有用……
很想弄清楚如何不仅仅使用图像,还要使用图像悬停。不过我不确定您的方法是否可行(因为我对 PHP 不够了解)。
很好。现在,如何首先预加载图像,因为这对显示一些很棒的大尺寸背景图像非常有用。非常感谢。
想知道是否可以通过超链接来强制特定季节,让访问者有机会预览其他季节?
使用会话,Philip。:)
您能将年份添加到 php 中吗?我有一个客户正在将它用于节日,因为节日每年都会变化,我只是想知道这是否可行?
这对我很有效……
结尾处的零表示年份可以为任意年份。无需更新它。
$holiDate10 = date(“Y-m-d”,strtotime(“Second Monday of October 0”)); // 哥伦布日
你好,
问题很简单,但我忘记了我的 php/html,抱歉。我想将 o.p 中的变量 $season 放到 alt 和 title 标签中(以显示问候语),但当我将鼠标悬停在图像上时,它显示的文字是“array”,而我希望它显示类似以下内容
Happy <?php title="Happy ”
例如:Happy Summer!
抱歉,这是我的 codepen
http://codepen.io/anon/pen/YXGbJB
抱歉代码不完整
<img src="<?php current_season() ?>" alt="<?php $season ?>" title="Happy <?php echo [$season]; ?>" />
不错的脚本,但似乎没有人关心如何连接 php 文件(与子主题中的 functions.php 不同,我认为)和图像代码……是不是在某个地方缺少包含代码……?
您好,
我需要一个 php 脚本,它可以从文件夹中的一堆图像中显示一个随机图像,并且在 24 小时内只显示一个图像,然后以相同的方式显示另一个图像,直到完整的列表显示一次后才重复图像。这本质上是一个 php 中的每日图片脚本。您能提供一个可以做到这一点的链接吗?
提前感谢!
Brian
在这个 StackOverflow 主题中发布了一些示例
https://stackoverflow.com/questions/33251366/php-display-random-n-images-from-directory
我将为其他人发布一些代码,因为从长远来看它可能对他们有好处
然后,将 images 文件夹更改为 css,并将下面的文件放入其中
在 css 中添加您想要的任何样式。
最后注意:查看我上面的代码并与原始代码进行比较,您将看到 $images_path 被替换为 $css_path,images/spring.png 被替换为 css/spring.css 等等。
祝您好运,玩得开心!
不错!我非常想用这个……但我只知道(真正)基本的 HTML :( 如何使用这个脚本?我还没有弄明白。
我做了一个表格,我想按季节改变背景图形,所以这对我来说听起来很完美。
有人可以帮我吗?:)