导航位置:首页 > 技术开发 > 程序技术开发

根据输入的日期字符,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条评论
昵称/用户名:
验证码:
验证码

相关内容

本站推荐

内容标签