首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Javascript/JQuery将date_select值构造成单一的日期格式?

如何使用Javascript/JQuery将date_select值构造成单一的日期格式?
EN

Stack Overflow用户
提问于 2016-02-04 21:23:58
回答 3查看 362关注 0票数 2

我的html表单中有一个date_select。我知道它把日、月、年分开了。我正在尝试如何在我的Javascript中构造一个YYYY DD格式的日期,以便将这个日期发送给我的控制器以便与其他日期进行比较。

以下是我到目前为止(我是JQuery/JS初学者)所做的工作:

代码语言:javascript
复制
$(document).on('click', "#check-button", function(){

    var year = $("#event_day_1i").val();
    var month = $("#event_day_2i").val();
    var day = $("#event_day_3i").val();
    var selectedDate = [year + "-" + month + "-" + day];

...
$.ajax({
            url: '/events/check',
            data: {checkList: checkList , selected_date: selectedDate },
            method: "POST"
        }
    );
)};

但这就创造了诸如"2016-2-4“这样的日期,而不是"2016-02-04”。解决这个问题的最好方法是什么?

如果您有一个解决方案,允许我将三个单独的值发送到控制器内的一个日期中,那么这也很好,但我也不知道该如何做(初学者)。

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-05 05:49:46

这个想法与@Phillip的回答是一样的。唯一的区别是整数计数和字符长度计数。

使用parseInt()将其转换为整数。

使用length计数字符或字符串。

这将检查该值是否为单字符,然后将"0“附加到其中,例如1将变为"01”。

代码语言:javascript
复制
$(document).on('click', "#check-button", function(){

    var year = $("#event_day_1i").val();
    var month = $("#event_day_2i").val();
    var day = $("#event_day_3i").val();

    if (day.length < 2) { day = '0' + day; }
    if (month.length < 2) { month = '0' + month; }

    var selectedDate = [year + "-" + month + "-" + day];

...
    $.ajax({
            url: '/events/check',
            data: {checkList: checkList , selected_date: selectedDate },
            method: "POST"
        }
    );
)};
票数 3
EN

Stack Overflow用户

发布于 2016-02-04 21:56:13

"0“前面的另一种方式是使用以下方法(只使用所列代码的一部分):

代码语言:javascript
复制
day = ("0" + day).slice(-2);

month = ("0" + month).slice(-2);

这样做是将"0“添加到开头,然后接受最后两个字符。请注意,这和另一种方法都会将这些值返回给字符串。

票数 2
EN

Stack Overflow用户

发布于 2016-02-04 21:36:13

首先,我要确保用户在每个字段中都添加了一个数字。您可以自己进行更广泛的检查,但我已经开始使用.parseInt() JS方法了。

在这个变量中有一个整数存储后,检查它是否小于10,也就是说,只有一位数。您可能还想检查它是否也大于0。

一旦你知道了这一点,就把前面的"0“串串接起来。9变成09了。

代码语言:javascript
复制
$(document).on('click', "#check-button", function(){

var year = $("#event_day_1i").val();
var month = $("#event_day_2i").val();
var day = $("#event_day_3i").val();
month = month.parseInt();
day = day.parseInt();

if (month < 10) {
    month = "0" + month;
}
if (day < 10) {
    day = "0" + day;
}
var selectedDate = [year + "-" + month + "-" + day];

..。

代码语言:javascript
复制
$.ajax({
            url: '/events/check',
            data: {checkList: checkList , selected_date: selectedDate },
            method: "POST"
        }
    );
)};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35211893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档