Formating Date in any other language

Hello i would like to know how to adapt the coming friendly date code in french. I really like the way it’s displayed:
56

- platform: template
  sensors:
    friendly_date:
      # Thursday June 10th, 2017
      friendly_name: "Date du jour"
      icon_template: mdi:calendar-today
      value_template: >-
        {% set date = states('sensor.date') %}
        {% set datetime = strptime(date, '%Y-%m-%d') %}
        {% set weekday = datetime.strftime('%A') %}
        {% set month = datetime.strftime('%B') %}
        {% set day = datetime.strftime('%d') | int %}
        {%
          set suffix = 'st' if (day % 10 == 1 and day != 11)
          else 'nd' if (day % 10 == 2 and day != 12)
          else 'rd' if (day % 10 == 3 and day != 13)
          else 'th'
        %}
        {{ weekday }} {{ month }} {{ day }}{{ suffix }}

For now i only have two separate sensors displaying days and months:
15

jours_fr:
  entity_id: sensor.date
  friendly_name: "Jours"      
  value_template: >
    {{ ["Lundi", "Mardi", "Mercredi", "Jeudi", "Venderdi", "Samedi", "Dimanche"][now().weekday()] }}

mois_fr:
  entity_id: sensor.date
  friendly_name: "Mois"      
  value_template: >
    {{ ["Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Decembre"][now().month-1] }}

In french should look like this: “Vendredi 11 Janvier”

Sorry for asking this but i don’t know how to do.

Thanks.

1 Like

I have found a way to join both weekday and month:

date_fr:
  entity_id: sensor.date
  friendly_name: "Date du jour"      
  value_template: >
    {% set months = ["Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Decembre"] %}
    {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
    {{ days[now().weekday()] + ' ' + months[now().month-1] }}

When i use the coming code to add the day it doesn’t work:

date_day_fr:
  entity_id: sensor.date
  friendly_name: "Mois"      
  value_template: >
    {% set months = ["Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Juil", "Août", "Sep", "Oct", "Nov", "Dec"] %}
    {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
    {{ days[now().weekday()] + ' ' + now().day + ' ' + months[now().month-1] }}      

I don’t understand why?

The proper code to change the date is:

date_fr:
  entity_id: sensor.date
  friendly_name: "Date du jour"  
  icon_template: mdi:calendar-today          
  value_template: >
    {% set months = ["Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Decembre"] %}
    {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]  %}
    {{ days[now().weekday()] + ' ' + now().day | string + ' ' + months[now().month-1] }}

Capture

1 Like