日期到黄道星座和格式日期


Date to Zodiac sign and format date

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

Ok Page,用户输入生日(不是Birthdate)所以我们有dd/mm格式的数据保存到数据库中,例如:30/07表示7月30日)

所以下一页用户去,我想正确格式化日期,以匹配我想要实现的,添加相应的序数(但删除- dd和mm之间),而不是回显yy,因为我们从来没有得到的信息放在第一位。

基本上,如果当用户点击这个页面时,我们知道dd和mm,我很乐意将当前年份添加为yy(但不是从数据库中获取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 30 - july -2013

我想要回复:Leo 30th July(年份位可以是页面上的var,但不是来自db)

// One more time!
$myBday = date("Y") . "-07-30"; // 2013-07-30
// Two digit year
$myBday2 = date("y") . "-07-30"; // 13-07-30