【发布时间】:2014-09-05 14:14:48
【问题描述】:
所以我正在编写一个时区插件,我需要简化我的 if 语句,因为我想避免重复。我目前正在编写它以按州更改时间(是的,我知道有些州可以有多个时区。我稍后会完善它,可能会按县。)
我们可以将所有可能的值存储在一个变量中,而不是说值是否等于这个或这个或这个或这个等?下面,我有一个太平洋州的数组,我如何判断状态值是否等于其中之一?
jQuery
function GetClientTime() {
// current time
var dt = new Date();
// pacific time
var pacifictime = dt.getHours() - 2 + ":" + (dt.getMinutes() < 10 ? '0' : '') + dt.getMinutes();
// mountain time
var mountaintime = dt.getHours() - 1 + ":" + (dt.getMinutes() < 10 ? '0' : '') + dt.getMinutes();
// central time
var centraltime = dt.getHours() + ":" + (dt.getMinutes() < 10 ? '0' : '') + dt.getMinutes();
// eastern time
var easterntime = dt.getHours() + 1 + ":" + (dt.getMinutes() < 10 ? '0' : '') + dt.getMinutes();
// get am/pm
var hours = new Date().getHours();
var ampm = (hours >= 12) ? "PM" : "AM";
var pacificstates = [
"WA", "OR", "CA", "NV"
]
if ($('#state').val() == pacificstates) {
$('#currenttime').show().val(pacifictime + " " + ampm);
} else if ($('#state').val() == 'CO') {
$('#currenttime').show().val(mountaintime + " " + ampm);
} else if ($('#state').val() == 'TX' || $('#state').val() == 'LA') {
$('#currenttime').show().val(centraltime + " " + ampm);
} else if ($('#state').val() == 'NY' || $('#state').val() == 'NJ') {
$('#currenttime').show().val(easterntime + " " + ampm);
} else {
$('#currenttime').hide();
}
}
【问题讨论】:
-
RE:奖励,moment 是一个流行的库,用于轻松格式化日期momentjs.com
标签: javascript jquery variables if-statement time