将DatePicker文本框转换为javascript日期

时间:2012-10-27 20:37:04

标签: javascript jquery date datepicker

我在2个文本框中有一个日期选择器,我试图将这些文本框的值添加到需要有效Javascript日期的函数中。

这是函数的一部分 - start是Date

        else if (daystosearch == 'custom') {
            start.setDate(Date.parse($('#<%= tStartDate.ClientID %>').val()));
            end.setDate(Date.parse($('#<%= tEndDate.ClientID %>').val()));
        }

Date.Parse不起作用,因为文本框的值是&#34; 10/29/2012&#34;这不是一个可解析的日期。如何使用start.setDate并获取文本框日期的值?

3 个答案:

答案 0 :(得分:2)

使用$(selector).datepicker("getDate")然后.getDate()来抓住这一天。在你的情况下:

start.setDate($('#<%= tStartDate.ClientID %>').datePicker("getDate").getDate());

正如第一条评论所说,这将直接为您提供Date对象,而不管文本框中使用的字符串格式如何。看看API documentation:)

编辑:正如ianpgall所说,您还需要使用getDate()来获取日期编号。

答案 1 :(得分:2)

如果文本框的值类似于“10/29/2012”,您应该可以使用:

var new_start = new Date($('#<%= tStartDate.ClientID %>').val());

但是如果您尝试使用setDate,它接受​​的值是1-31的整数,因此您需要在新的Date对象上使用getDate,如:

var new_start = new Date($('#<%= tStartDate.ClientID %>').val());
start.setDate(new_start.getDate());

答案 2 :(得分:0)

使用datepicker http://docs.jquery.com/UI/Datepicker/parseDate

中的效用函数
$.datepicker.parseDate('yy-mm-dd', '2007-01-26');