Jquery 正在尝试将1添加到拆分字符串

Jquery 正在尝试将1添加到拆分字符串,jquery,Jquery,我试图修改检索到的日期ex:2013-01-20 00:59:06,如果时间小于20:00,则在当天添加+1。原因是,如果检索到的时间小于20:00,这意味着它必须在00:00和07:00之间的某个位置-这意味着是第二天 以下是我所做的: var WhenDateUnformatted = $('#when').val().split('/'); var startTimeSPLIT = startTime.split(':'); if (WhenDateUnformatted[1] <

我试图修改检索到的日期
ex:2013-01-20 00:59:06
,如果时间小于20:00,则在当天添加
+1
。原因是,如果检索到的时间小于20:00,这意味着它必须在00:00和07:00之间的某个位置-这意味着是第二天

以下是我所做的:

var WhenDateUnformatted = $('#when').val().split('/');
var startTimeSPLIT = startTime.split(':');

if (WhenDateUnformatted[1] < 20) {
var WhenDateUnformatted[1] = WhenDateUnformatted[1] + 1;
}

var WhenDate = WhenDateUnformatted[2] + '-' + WhenDateUnformatted[0] + '-' + WhenDateUnformatted[1] + ' ' + startTime + ':00';

您正在声明何时已提供信息。只需在if语句中为其赋值

var WhenDateUnformatted = $('#when').val().split('/');
var startTimeSPLIT = startTime.split(':');

var parsedWhenDateUnformatted = parseInt(WhenDateUnformatted[1],10);
if (parsedWhenDateUnformatted < 20) {
    WhenDateUnformatted[1] = (parsedWhenDateUnformatted + 1).toString();
}
var whendatenformated=$('#when').val().split('/');
var startTimeSPLIT=startTime.split(“:”);
var parsedWhenDateUnformatted=parseInt(当数据信息[1],10];
如果(解析为未格式化<20){
WhenDateInformation[1]=(ParsedWhenDateUnformated+1).toString();
}

为了回应您的评论并根据Robrich的输入进行更新,我已经更新了代码。

您正在声明何时提供信息。只需在if语句中为其赋值

var WhenDateUnformatted = $('#when').val().split('/');
var startTimeSPLIT = startTime.split(':');

var parsedWhenDateUnformatted = parseInt(WhenDateUnformatted[1],10);
if (parsedWhenDateUnformatted < 20) {
    WhenDateUnformatted[1] = (parsedWhenDateUnformatted + 1).toString();
}
var whendatenformated=$('#when').val().split('/');
var startTimeSPLIT=startTime.split(“:”);
var parsedWhenDateUnformatted=parseInt(当数据信息[1],10];
如果(解析为未格式化<20){
WhenDateInformation[1]=(ParsedWhenDateUnformated+1).toString();
}

为了回应您的评论并根据Robrich的输入进行更新,我更新了代码。

当数据信息[1]是字符串而不是数字时。向其中添加1会产生奇怪的效果。尝试
parseInt(当数据格式为[1],10]时)
首先将其设置为数字。

当数据格式为[1]时,它是字符串,而不是数字。向其中添加1会产生奇怪的效果。尝试
parseInt(WhenDataInformation[1],10)
首先将其设置为一个数字。

在循环中使用var关键字在行中声明一个局部变量

var whendatenformated[1]=whendatenformated[1]+1


那不可能是你想做的。。。一旦超出循环,您的值将保持不变。

当在循环中使用var关键字在行中提供数据时,您正在声明一个局部变量

// This is bad
var arr = [] /* or whatever*/;
var arr[1] = arr[1] + 1;

// This is good
var arr = [] /* or whatever*/;
arr[1] = arr[1] + 1; /* Or simply: arr[1]++; */
var whendatenformated[1]=whendatenformated[1]+1

那不可能是你想做的。。。一旦超出循环,您的值将保持不变

// This is bad
var arr = [] /* or whatever*/;
var arr[1] = arr[1] + 1;

// This is good
var arr = [] /* or whatever*/;
arr[1] = arr[1] + 1; /* Or simply: arr[1]++; */


谢谢!我是否声明在
if
之前?将其放入
if
中,如
parseInt(WhenDataInformation[1],10)=WhenDataInformation[1]+1
导致此错误:
ReferenceError:无效赋值左侧
是,并且可能还使用此值声明一个新的变量--可能比每次比较数组项更容易。谢谢!我是否声明在
if
之前?将其放入
if
中,如
parseInt(WhenDataInformation[1],10)=WhenDataInformation[1]+1
导致此错误:
ReferenceError:左侧无效赋值
Yes,并且可能还使用此值声明一个新的var——可能比每次比较数组条目更容易。