var now = new Date(); var today = new Date(now.getFullYear(), now.getMonth(), now.getDate()); var jsonDate = "/Date(" + today.getTime() + ")/"; function ViewModel() { var self = this; self.dateOfBirth = ko.observable(jsonDate); self.formattedDate = ko.computed({ read: function() { var dob = new Date(parseInt(self.dateOfBirth().substr(6))); return dob.getFullYear() + '-' + (dob.getMonth() + 1) + '-' + dob.getDate(); }, write: function(value) { var parts = value.split('-'); self.dateOfBirth("/Date(" + new Date(parts[0], parts[1] - 1, parts[2]).getTime() + ")/"); } }) } ko.applyBindings(new ViewModel());
Epoch: <input type="text" data-bind="value: dateOfBirth" /><br/> Formatted Date: <input type="text" data-bind="value: formattedDate" />