导航位置:首页 > 技术开发 > 程序技术开发
根据输入的日期字符,PHP转换为年龄或者星座的代码
豆腐果2025-09-10围观:点赞:
平时会用到把用户输入的日期字符(年/月/日)转换为年龄或者星座的需求,在这里做一个记录,方便以后查阅。代码如下:
HTML/JS
<label for="birthday11">出生年月:</label>
<input type="date" id="birthday" name="birthday">
<button onclick="showDate()">显示日期</button>
<script type="application/javascript">
function showDate() {
var birthday = document.getElementById('birthday');
var birthdayVal = birthday.value; // 获取输入的出生年月值
alert("您出生日期是: " + birthdayVal); // 显示选择的日期
}
</script>
PHP转年龄
function calculateAge($birthdate) {
$birthDate = new DateTime($birthdate);
$currentDate = new DateTime();
$interval = $birthDate->diff($currentDate);
$age = $interval->y;
return $age;
}
PHP转星座
function getZodiacSign($birthDate) {
$birthDate = strtotime($birthDate); // 将日期字符串转换为时间戳
$date = getdate($birthDate); // 获取日期数组
$month = $date['mon']; // 获取月份
$day = $date['mday']; // 获取日期
switch (true) {
case ($month == 1 && $day >= 20) || ($month == 2 && $day <= 18):
return "水瓶座";
case ($month == 2 && $day >= 19) || ($month == 3 && $day <= 19):
return "双鱼座";
case ($month == 3 && $day >= 20) || ($month == 4 && $day <= 19):
return "白羊座";
case ($month == 4 && $day >= 20) || ($month == 5 && $day <= 20):
return "金牛座";
case ($month == 5 && $day >= 21) || ($month == 6 && $day <= 20):
return "双子座";
case ($month == 6 && $day >= 21) || ($month == 7 && $day <= 21):
return "巨蟹座";
case ($month == 7 && $day >= 22) || ($month == 8 && $day <= 22):
return "狮子座";
case ($month == 8 && $day >= 23) || ($month == 9 && $day <= 22):
return "处女座";
case ($month == 9 && $day >= 23) || ($month == 10 && $day <= 22):
return "天秤座";
case ($month == 10 && $day >= 23) || ($month == 11 && $day <= 21):
return "天蝎座";
case ($month == 11 && $day >= 22) || ($month == 12 && $day <= 21):
return "射手座";
case ($month == 12 && $day >= 22) || ($month == 1 && $day <= 19):
return "摩羯座";
default:
return "未知星座"; // 这个情况理论上不会发生,除非日期不合法或者有误
}
}
// 使用示例
echo getZodiacSign("1990-06-15"); // 应该输出“巨蟹座”
共有0条评论
下一篇:返回列表