Skip to content

Instantly share code, notes, and snippets.

@nireno
Created February 10, 2018 01:42
Show Gist options
  • Save nireno/cb8fff34e73193a362bbc475afe72ab6 to your computer and use it in GitHub Desktop.
Save nireno/cb8fff34e73193a362bbc475afe72ab6 to your computer and use it in GitHub Desktop.
Setup a predefined formatter for moment.js
///Add moment as predefined formatter
var dateFormatters = {
moment: {
default_options:{
format: 'YYYY/MM/DD HH:mm',
formatDate: 'YYYY/MM/DD',
formatTime: 'HH:mm',
},
formatter: {
parseDate: function (date, format) {
var d = moment(date, format);
return d.isValid() ? d.toDate() : false;
},
formatDate: function (date, format) {
return moment(date).format(format);
},
formatMask: function(format){
return format
.replace(/Y{4}/g, '9999')
.replace(/Y{2}/g, '99')
.replace(/M{2}/g, '19')
.replace(/D{2}/g, '39')
.replace(/H{2}/g, '29')
.replace(/m{2}/g, '59')
.replace(/s{2}/g, '59');
}
}
}
}
// modify setDateFormatter:
function setDateFormatter(dateFormatter){
if(typeof dateFormatter === 'string' && dateFormatters.hasOwnProperty(dateFormatter)){
var df = dateFormatters[dateFormatter];
$.extend(default_options, df.default_options);
dateHelper = df.formatter;
}
else {
dateHelper = dateFormatter;
}
}
//Configuring to use moment then becomes:
$.datetimepicker.setDateFormatter('moment')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment