Dalam post sebelumnya tentang Bermain Format DateTime dengan PHP dijelaskan bahwa PHP mempunyai Relative Format yang mempermudahkan developer dalam memanipulasi DateTime format.
Berbeda dengan Javascript, tidak ada built-in class yang dapat membantu memanipulasi DateTime format. Untuk itu kita butuh class tambahan/plugin yang dapat menghandle semua hal tersebut. Salah satu library yang pernah saya pakai adalah Moment.js
Untuk membuat format yang kurang umum seperti 31/12/16 saja perlu perjuangan keras. Apalagi seperti ini January 1, 2016. Belum lagi manipulasi seperti +1 minggu, +60 jam, +2 bulan susahnya minta ampun.
Dibawah ini contoh menggunakan moment.js untuk melalukan hal-hal diatas.
Bermain dengan format()
$(document).ready(function() { var $scope = {}; $scope.date = new Date(); $scope.moment = moment($scope.date); // DateTime Format $('#date1').html($scope.moment.format('DD-MM-YYYY')); $('#date2').html($scope.moment.format('DD-MM-YYYY hh:mm:ss')); // DateTime Manipulation $scope.temp = $scope.moment.add(1, 'weeks'); $('#date3').html($scope.temp.format('DD-MM-YYYY hh:mm:ss')); $scope.temp = $scope.moment.add(1, 'months'); $('#date4').html($scope.temp.format('DD-MM-YYYY hh:mm:ss')); });
Full Script: JSFiddle
Cukup mudahkan? Hampir mirip penggunaannya dengan Relative Format pada PHP.