所以我有这个代码,它运作良好。
$('#txt').datepicker({
onClose: function (selectedDate) {
var oneday = 1000 * 60 * 60 * 24; //ms*sec*min*hrs
var today = new Date();
var selected = new Date(selectedDate);
var diff = parseInt((selected - today) / oneday);
if (diff <= -1) {
alert('Not valid. Pick a day in the future.');
$('#txt').val('');
} else if (diff <= 3 && diff >= 0) {
alert('Hum...You know we need at least two days to be prepared, right?');
// $('#txt').val('');
}
}
});
现在我需要使用以下日期格式:dd/mm/yy
。
如果我使用
$('#txt').datepicker({
dateFormat: "dd-mm-yy",
onClose:(...)
我得到了我想要的日期格式,但onClose函数不再正常工作,因为var today
和var selected
不会遵循新格式(数学会被破坏)。
我该怎么办?
答案 0 :(得分:0)
使用以下(zh_CN)设置进行日期选择器设置,并更改您想要的任何内容,包括日期格式。
/* Chinese initialisation for the jQuery UI date picker plugin. */
/* Written by Cloudream (cloudream@gmail.com). */
jQuery(function($){
$.datepicker.regional['zh-CN'] = {
closeText: '关闭',
prevText: '<上月',
nextText: '下月>',
currentText: '今天',
monthNames: ['一月','二月','三月','四月','五月','六月',
'七月','八月','九月','十月','十一月','十二月'],
monthNamesShort: ['一','二','三','四','五','六',
'七','八','九','十','十一','十二'],
dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
dayNamesMin: ['日','一','二','三','四','五','六'],
weekHeader: '周',
dateFormat: 'yy-mm-dd',
firstDay: 1,
isRTL: false,
showMonthAfterYear: true,
yearSuffix: '年'};
$.datepicker.setDefaults($.datepicker.regional['zh-CN']);
});
所以,为了更简单,在你的情况下,你可以在调用datepicker函数之前简单地使用下面的代码:
jQuery(function($){
$.datepicker.setDefaults({
dateFormat: 'dd/mm/yy'
});
});
答案 1 :(得分:0)
如果selectedDate
的值'2-8-2014'
使用dateFormat: 'dd-mm-yy'
(代表8月2日),那么您可以转换为javascript Date
对象,如下所示
var d = selectedDate.split('-');
var selected = new Date(d[2], d[1] - 1, d[0]);
您现在可以将其与var today = new Date();
答案 2 :(得分:-1)
使用Javascript的Date对象
您必须将所选日期拆分为多个部分,如下所示:
var splitDate = selected.split("/");
var day = splitDate[0];
var month = splitDate[1];
var year = splitDate[2];
var selected = new Date(month + "/" + day + "/" + year);