我正在开发一个函数,它可以用时间感知的问候语(早上好、下午好、晚上好、晚上好)来问候用户。
import moment from "moment";
function generateGreetings(){
if (moment().isBetween(3, 12, 'HH')){
return "Good Morning";
} else if (moment().isBetween(12, 15, 'HH')){
return "Good Afternoon";
} else if (moment().isBetween(15, 20, 'HH')){
return "Good Evening";
} else if (moment().isBetween(20, 3, 'HH')){
return "Good Night";
} else {
return "Hello"
}
}
$("greet")
.css({
display: "block",
fontSize: "4vw",
textAlign: "center",
})
.text(generateGreetings() +", name")
但是它根本不起作用,只是返回“Hello”。
var currentTime = moment();
var currentHour = currentTime.hour();
并使用currentHour
来替换函数内部的moment()
,但当我这样做时,网站就消失了。希望这里的任何人对我应该做些什么来解决这个问题有任何见解。
4条答案
按热度按时间h43kikqp1#
您使用
moment().isBetween()
的方式不对。您可以从这里看到正确的方法用法。对于您的要求,不需要使用isBetween
方法。您可以简单地获得小时,然后根据if
条件检查它。您可以重新安排您的方法如下。
bsxbgnwa2#
公认的答案可以简化很多;由于早期的回报,
elses
完全是多余的:h43kikqp3#
@图西塔
或者你可以用
代替
uyto3xhc4#
以下是一种分割白天时间的方法(早晨时间和晚上时间)
将YYYY-MM-DD替换为要使用的实际日期: