Formatting Dates

Formatting Dates with AngularJS and Javascript

by robhortn

HTML

<div ng:app ng:controller="Scoper">
    In: {{v.Dt}}  <br />
    Angular: {{v.Dt | date:'yyyy-MM-dd HH:mm:ss Z'}} 
    <br /><br />
    In: {{v.sDt}}  <br />
    Angular: {{v.sDt | date:'yyyy-MM-dd HH:mm:ss Z'}} 
    <br /><br />
    In: {{v.DDt}}<br />
    Angular: {{v.DDt | date:'h:mma'}} 
    <br /><br />
    In: {{v.tDt}}  <br />
    In (parsed): {{v.DDt2}} <br />
    Angular: {{v.DDt2 | date:'h:mma'}}
    <br /><br />
    
    In: {{v.tt}}<br />
    Formatted: {{formatTime(v.tt)}}<br />
</div>

JavaScript

function Scoper($scope) {
    var s = "2016-10-16T17:57:28.556094Z";
    
    var t = "2016-10-16" + "T" + "17:57:28" + ".000000Z";
    var tt = "14:35:00";
    
    $scope.v = {
        Dt: Date.now(),
        
        sDt: s,
        DDt: Date.parse(s),
        
        tDt: t,
        DDt2: Date.parse(t),
        
        tt: tt
    }
    
    $scope.formatTime = function(time){
        var res = time.substring(0,2);
        var hh = res;
        var period = ' AM';
        var formatted = time.substring(2,5);
                
        if (res > 12)
        {
            hh = res-12;
            period = ' PM'
            //console.log(hh, res);
        }
        
        formatted = hh+formatted+period;
        return formatted;
    };
}