I have my handlerbars template with my property
{{#each claimsHistory}}
<td>
{{lossDate}}
</td>
{{/each}}
lossDate its my date time, it is rendered like this 2015-08-28T00:00:00
I want to display it as this 2015-08-28 without the time.
Thanks
Solution. There are two ways of formatting the value: Create a Handlebars helper {{format-date}} and use it in your template.
Handlebars is a simple templating language. It uses a template and an input object to generate HTML or other text formats. Handlebars templates look like regular text with embedded Handlebars expressions.
Handlebars: What it is and Why to Use itHandlebars is a logic-less templating engine that dynamically generates your HTML page.
This is the perfect time to write a handlebars helper! Add this minor modification to your template:
{{#each claimsHistory}}
<td>
{{formatTime lossDate "MM-DD-YYYY"}}
</td>
{{/each}}
Then in a HandlebarsHelpers.js
file that you include in your app:
Handlebars.registerHelper('formatTime', function (date, format) {
var mmnt = moment(date);
return mmnt.format(format);
});
moment
is a popular JavaScript library for manipulating dates. The helper shown here receives your date and a format string as passed by your template, creates a moment date object, then formats it according to your specified format strings. For more info on moment, including how to get various formats, go here: http://momentjs.com/docs/.
Of course, you could use vanilla JS date manipulation instead of Moment.js, but how you implement the helper is up to you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With