Date Formatting in HTML Template usign razor

Hi All,

I'm working on our HTML email ticket template.

I've made a copy of the Mobile Ticket template and have been able to make the changes that I need except for the date format.

The current format is YYYY-MM-DD which isn't the most user friendly, so I'm trying to change it to dd MMM yyyy  (e.g. 31 Dec 2020).

I've managed to convert the performanceDate var to a DateTime as follows:

DateTime date2 = ((DateTime)DateTime.ParseExact(performanceDate, "yyyy-MM-dd", null));
performanceDate = date2.ToShortDateString();

However, the only function available on the date2 is "ToShortDateString()".

My web research suggests there should be a ToString("dd MMM yyyy") that I can use, but this doesn't work and intelisense doesn't have ToString() for my date var.

Any ideas on how to format this date?

Many thanks,

Parents
  • Hi Dara,

    I was able to use ToString with the following tweak to your date2 variable:

            var date2 = DateTime.ParseExact(performanceDate, "yyyy-MM-dd", null);
            var performanceDate = date2.ToString("dd MMM yyyy");

  • Thanks Thomas.

    I tried that but unfortunately, it throws an error when I click 'View Tickets' on the website.

    The following is the error:

    Rest Exception: BadRequest Description: An error occurred while rendering the template. Object reference not set to an instance of an object.

    Response Body: [ { "Code": "", "Description": "An error occurred while rendering the template.\r\n\r\nObject reference not set to an instance of an object.", "Details": " at Tessitura.Service.Impl.Templates.TemplateRenderer.RenderTemplate[T](String template, T model, String cacheKey)\r\n at Tessitura.Service.Impl.Templates.TemplateService.RenderConstituentInfo(String constituentId, String templateBody, List`1 nameValues, String cacheKey)\r\n at

    .....

    If it works for you, but gives an error for me, I wonder if it's due to the difference in date formatting I have here in Ireland vs US date format.

Reply
  • Thanks Thomas.

    I tried that but unfortunately, it throws an error when I click 'View Tickets' on the website.

    The following is the error:

    Rest Exception: BadRequest Description: An error occurred while rendering the template. Object reference not set to an instance of an object.

    Response Body: [ { "Code": "", "Description": "An error occurred while rendering the template.\r\n\r\nObject reference not set to an instance of an object.", "Details": " at Tessitura.Service.Impl.Templates.TemplateRenderer.RenderTemplate[T](String template, T model, String cacheKey)\r\n at Tessitura.Service.Impl.Templates.TemplateService.RenderConstituentInfo(String constituentId, String templateBody, List`1 nameValues, String cacheKey)\r\n at

    .....

    If it works for you, but gives an error for me, I wonder if it's due to the difference in date formatting I have here in Ireland vs US date format.

Children