Formatting dates using view models

In This Guide

You can set the default date format from within the content type’s view model. When resolving the date format to use, Brightspot checks for this configuration if there is no date format specified in a theme’s properties (as described in Date formats and resource bundles) or in a site’s settings.

import brightspot.view.core.article.ArticlePageView;
import brightspot.core.tool.DateTimeUtils;
import com.psddev.cms.view.PageEntryView;
import com.psddev.cms.view.ViewModel;

public class ArticlePageViewModel extends ViewModel<Article> implements ArticlePageView, PageEntryView {

    protected PageViewModel page;

    private static final String DATE_FORMAT_KEY = "dateFormat"; 
    private static final String DEFAULT_DATE_FORMAT = "MMMM d, yyyy"; 

    public CharSequence getDatePublished() { 
        return DateTimeUtils.format(model.getPublishDate(), ArticlePageView.class, DATE_FORMAT_KEY, page.getSite(), DEFAULT_DATE_FORMAT);

  • Declares a variable page, and the annotation assigns it the default value PageViewModel class.
  • Declares a date format string.
  • Retrieves the model's publication date and outputs the date using the configured format string.

See also:

In This Guide