js问候 时间 天气 日期 农历
时间: 2023-09-07 08:12:52 浏览: 47
以下是一个使用JavaScript获取时间、天气、日期和农历,并在页面上显示问候语的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>问候语</title>
<script src="https://cdn.jsdelivr.net/npm/chinesey/dist/chinesey.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</head>
<body>
<div id="greeting"></div>
<div id="time"></div>
<div id="weather"></div>
<div id="date"></div>
<div id="lunarDate"></div>
<script>
// 获取当前时间
function getTimeString() {
var now = new Date();
return now.getHours() + ':' + (now.getMinutes() < 10 ? '0' : '') + now.getMinutes();
}
// 获取当前天气
function getWeather() {
var url = 'https://api.openweathermap.org/data/2.5/weather?q=Shanghai&appid=YOUR_API_KEY&units=metric&lang=zh_cn';
axios.get(url).then(function(response) {
var weatherDiv = document.getElementById('weather');
var description = response.data.weather[0].description;
var temperature = response.data.main.temp;
var weatherString = description + ',' + temperature + '℃';
weatherDiv.innerHTML = weatherString;
});
}
// 获取当前日期
function getDateString() {
var now = new Date();
return now.getFullYear() + '年' + (now.getMonth() + 1) + '月' + now.getDate() + '日';
}
// 获取当前农历日期
function getLunarDateString() {
var now = new Date();
var lunarDate = chinesey.lunar.solarToLunar(now.getFullYear(), now.getMonth() + 1, now.getDate());
return '农历' + lunarDate.year + '年' + lunarDate.month + '月' + lunarDate.day;
}
// 显示问候语
function showGreeting() {
var hour = new Date().getHours();
var greetingDiv = document.getElementById('greeting');
if (hour < 6) {
greetingDiv.innerHTML = '凌晨好!';
} else if (hour < 9) {
greetingDiv.innerHTML = '早上好!';
} else if (hour < 12) {
greetingDiv.innerHTML = '上午好!';
} else if (hour < 14) {
greetingDiv.innerHTML = '中午好!';
} else if (hour < 17) {
greetingDiv.innerHTML = '下午好!';
} else if (hour < 19) {
greetingDiv.innerHTML = '傍晚好!';
} else if (hour < 22) {
greetingDiv.innerHTML = '晚上好!';
} else {
greetingDiv.innerHTML = '夜里好!';
}
}
// 更新时间、天气、日期和农历日期
function update() {
var timeDiv = document.getElementById('time');
timeDiv.innerHTML = getTimeString();
getWeather();
var dateDiv = document.getElementById('date');
dateDiv.innerHTML = getDateString();
var lunarDateDiv = document.getElementById('lunarDate');
lunarDateDiv.innerHTML = getLunarDateString();
}
// 定时更新页面
setInterval(update, 1000);
// 显示问候语
showGreeting();
</script>
</body>
</html>
```
这段代码会每隔1秒钟更新一次时间、天气、日期和农历日期,并在页面上显示问候语。使用OpenWeatherMap的API可以获取当前天气,使用Chinesey库可以获取当前农历日期。根据当前时间,显示不同的问候语。