2

好的,我有一些代码,是从互联网上收集的。所以这就是我想要实现的目标。

好的页面,用户输入生日(不是生日)所以我们将 dd/mm 格式的数据保存到数据库中,例如:30/07 代表 7 月 30 日)

所以下一页用户转到,我想正确格式化日期以匹配我想要实现的内容,添加相应的序数(但删除 dd 和 mm 之间的 - )并且不回显 yy 因为我们一开始就没有得到该信息地方。

本质上,如果当用户点击此页面时,我们知道 dd 和 mm ,我很乐意将当前年份添加为 yy (但不是从 db 获取 yy )而是临时提供它。

下面的脚本来自互联网,考虑了闰年,但需要帮助。我不能只删除年份,因为这会给出错误的结果(可能是由于 strtotime 函数)但是当用户添加他们的生日时,我们没有抓住年份,因为我们不需要它。

代码:

<?php
function getStarSign($date="")
{
$zodiac[356] = "Capricorn";
$zodiac[326] = "Sagittarius";
$zodiac[296] = "Scorpio";
$zodiac[266] = "Libra";
$zodiac[235] = "Virgo";
$zodiac[203] = "Leo";
$zodiac[172] = "Cancer";
$zodiac[140] = "Gemini";
$zodiac[111] = "Taurus";
$zodiac[78]  = "Aries";
$zodiac[51]  = "Pisces";
$zodiac[20]  = "Aquarius";
$zodiac[0]   = "Capricorn";
if (!$date) $date = time();
$dayOfTheYear = date("z",$date);
$isLeapYear = date("L",$date);
if ($isLeapYear && ($dayOfTheYear > 59)) $dayOfTheYear = $dayOfTheYear - 1;
foreach($zodiac as $day => $sign) if ($dayOfTheYear > $day) break;
return $sign;
}
$myBday = "2013-07-30"; // this needs to be in English Australian format not American English format but do not need year
$AuEnBday = date("dS-F-Y", strtotime($myBday)); // this switches the date from USA to AU date format but do not need year
?>

以上呼应:Leo 30th-July-2013

我想回应:Leo 7 月 30 日(年份位可以是页面上的 var,但不是来自 db)

4

1 回答 1

1
// One more time!
$myBday = date("Y") . "-07-30"; // 2013-07-30

// Two digit year
$myBday2 = date("y") . "-07-30"; // 13-07-30
于 2013-01-19T21:26:18.893 回答