【发布时间】:2017-01-09 18:20:13
【问题描述】:
我正在尝试在我的应用程序中处理日期格式的多个条件,并为此目的使用 switch 方法。该功能看起来不错,但问题是我的情况下没有任何东西不起作用。我知道条件有问题,但无法理解到底是什么。
谁能告诉我我的错误在哪里?
var dateSettings = function (value) {
var timezone = localStorage.getItem('timezone');
timezone = JSON.parse(timezone);
var timeFormat = localStorage.getItem('timeFormat');
timeFormat = JSON.parse(timeFormat);
var dateFormat = localStorage.getItem('dateFormat');
dateFormat = JSON.parse(dateFormat);
switch( value ) {
case (timezone === true && timeFormat === true && dateFormat === false):
return value = moment.utc(value).format('MMM dd, yyyy HH:mm');
case (timezone === true && timeFormat === false && dateFormat === false):
return value = moment.utc(value).format('MMM dd, yyyy HH:mm:ss');
case (timezone === false && timeFormat === false && dateFormat === false):
return value = moment(value).format('MMM dd, yyyy HH:mm:ss');
case (timezone === false && timeFormat === false && dateFormat === true):
return value = moment(value).format('YYYY-MM-DD HH:mm:ss');
case (timezone === false && timeFormat === true && dateFormat === true):
return value = moment(value).format('YYYY-MM-DD HH:mm');
case (timezone === true && timeFormat === false && dateFormat === true):
return value = moment.utc(value).format('YYYY-MM-DD HH:mm:ss');
default:
return value = moment.utc(value).format('YYYY-MM-DD HH:mm');
}
};
【问题讨论】:
-
你不应该像那样使用 switch case....如果你要进行检查,请使用 if/else if/else....
标签: javascript switch-statement