Moment Formatting

by Doug Hill

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment.js"></script>
<div class="panel panel-info">
    <div class="panel-heading">Moment Date Formatting</div>
    <div class="panel-body">Tip: Instead of using Moment to determine the format of a date string, use native JavaScript to parse the date into seconds from Jan 1, 1970, then use Moment to format the date in a variety of ways.</div>
    <ul class="list-group"></ul>
</div>

JavaScript

var matrix = {
	"dates" : 
	[
		"3-12-13",
		"05/12/2009",
		"01/3/2010",
		"12-20-2011",
		"Oct-25-1988",
		"11.24.2012",
		"2012-04-8"
	],
	"displayFormats" : 
	[
		"YYYY.MM.DD",
		"MM-DD-YYYY",
		"YYYY-MM-DD",
		"dddd: MMMM Do, YYYY",
		"M/D/YYYY",
		"",
		"ddd, MMM D, YYYY"
	]
};

$.each(matrix.dates, function (dtIndex, date) {
    var dateItem = Date.parse(date),
        momentDate = moment(dateItem);
    
    $.each(matrix.displayFormats, function (ftIndex, format) {
        var displayItem = moment(momentDate).format(format);

        $('.list-group').append('<li class=\"list-group-item\">' + displayItem + '</li>');

    });
});