Moment JS Clean
Example of parsing and formatting a Date with Moment JS.
by Eric L
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>
<p>Curr: <input id="currInput" type="text" value="01:40am">
<!--Use Next day: <input id="nextDay" type="checkbox"></p> -->
<p>Start: <input id="startInput" type="text" value="06:30pm"></p>
<p>End: <input id="endInput" type="text" value="03:30am"></p>
<button onClick="runIt()">Run</button>
<hr>
<p>Curr: <span id="currTime"></span></p>
<p>Start: <span id="startTime"></span></p>
<p>End: <span id="endTime"></span></p>
<p>Is Between: <span id="isBetween"></span>
CSS
p {font-weight: bold}
JavaScript
// Moment JS - Formatting Guide: http://momentjs.com/docs/#/parsing/string-format/
function runIt()
{
var currentTime= moment($("#currInput").val(), "HH:mm a");
if ($('#nextDay').is(':checked'))
{
currentTime.add(1, "days");
}
var startTime = moment($('#startInput').val(), "HH:mm a");
var endTime = moment($('#endInput').val(), "HH:mm a");
if ( (startTime.hour() >=12 && endTime.hour() <=12 ) || endTime.isBefore(startTime) )
{
endTime.add(1, "days"); // handle spanning days endTime
if (currentTime.hour() <=12 )
{
currentTime.add(1, "days"); // handle spanning days currentTime
}
}
showTime(startTime, '#startTime')
showTime(endTime, '#endTime')
showTime(currentTime, '#currTime')
var isBetween = currentTime.isBetween(startTime, endTime);
console.log(isBetween)
$('#isBetween').text(isBetween);
}
function showTime(aMoment, anId)
{
$(anId).html(aMoment.toString());
}