reactjs - 如何从日出和日落时间将其表示为白天或晚上?
问题描述
从一些 api 我得到日出和日落时间分别为 06:42 和 17:57。时间大于等于06:42必须显示“DAY”,大于等于17:57必须显示“EVENING”。怎么办?
应用程序.js
fetch(`${IP_LOCATION}&lat=${lat}&long=${lon}`)
.then(res => res.json()).then(responseJson => {
console.log('DATA', responseJson)
try {
this.setState({
sunrise: responseJson.sunrise,
sunset: responseJson.sunset,
})
} catch {
toast.error('No Data Received')
}
});
render() {
return (
{console.log('sunrise', this.state.sunrise)}// returns 06:42
{console.log('sunset', this.state.sunset)}// returns 17:57
// How to display DAY and EVENING/NIGHT
)
}
export default App
如上所示,我得到了日出和日落值。
解决方案
让我们首先将日出和日落作为 JavaScriptDate
对象。
const sunrise = new Date(new Date().toLocaleDateString() + ' ' + this.state.sunrise);
const sunset = new Date(new Date().toLocaleDateString() + ' ' + this.state.sunset);
现在,让我们获取当前数据并进行检查!
const now = new Date();
const isLightOut = now > sunrise && now < sunset;
当然,就 React 而言,我们现在可以isLightOut
根据需要使用我们的变量来渲染文本:
render() {
return isLightOut ? "DAY" : "NIGHT";
}
推荐阅读
- c# - 如何检查字典中是否存在键,然后在使用 .ToDictionary() 时替换它的值
- html - 在 asp.net 中使用 CSS 更改我的链接颜色
- python - Python if elif in kickstart 不处理变量
- javascript - reactjs中递归调用函数
- azure - ERROR_CONNECTION_TERMINATED 在网络部署
- reactjs - 错误:对象作为 React 子级无效如果您打算渲染子级集合,请改用数组
- c++ - 如何在 C++ 中删除指向指针向量的指针?
- python - 用于计算数据框中特定列的平均值的 Python 函数
- c# - 从 ClaimsPrincipal 中删除重复的声明
- apple-push-notifications - 通过 cdk 创建用于推送通知的 sns 移动应用程序