Answers.Body: <p>Ok, I found it.</p>
  
  <p>In CRM/Badge/BAO/Badge.php around line 101 it says:</p>
  
  <pre><code>// hack to fix date field display format
  if (strpos($element, '_date')) {
    $value = CRM_Utils_Date::customFormat($value, "%B %E%f");
  }
  </code></pre>
  
  <p>So I just re-hacked the hack and replaced "%B %E%f" with "%e %B %Y".</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-09-29T14:42:16.797Z
Answers.LastActivityDate: 2016-09-29T14:42:16.797Z
Answers.UserDisplayName: F Grassi
Body: <p>In CiviCrm 4.7 Drupal I created a new Name Badge Layout which includes Event End Date. The site language is Italian, so I need the date to be printed as "15 Ottobre 2016", but it comes out as "Ottobre 15th", which does not make any sense.</p>
  
  <p>Where can I change this setting? I looked everywhere but it seems to be hardcoded somewhere and I can't it.</p>
  
  <p>Many thanks.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-09-28T20:06:01.957Z
Comments.Text: There are date settings here: civicrm/admin/setting/preferences/date?reset=1
Comments.UserDisplayName: petednz - fuzion
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-09-29T08:55:43.313Z
Comments.Text: I know that, but those settings seem to have no effect at all on the way the date is printed on the badge, which is a format that does not exist in any of my settings.
Comments.UserDisplayName: F Grassi
Tags: <civievent><localisation><pdf><dates>
Title: Name Badge Date Format
ThreadText: # Name Badge Date Format
  
  (Asked by: username_0 on 2016-09-28)
  
  In CiviCrm 4.7 Drupal I created a new Name Badge Layout which includes Event End Date. The site language is Italian, so I need the date to be printed as "15 Ottobre 2016", but it comes out as "Ottobre 15th", which does not make any sense.
  
  Where can I change this setting? I looked everywhere but it seems to be hardcoded somewhere and I can't it.
  
  Many thanks.
  
  **Tags:** civievent, localisation, pdf, dates
  
  > **Comments:**
  > **username_1**: There are date settings here: civicrm/admin/setting/preferences/date?reset=1  
  > **username_0**: I know that, but those settings seem to have no effect at all on the way the date is printed on the badge, which is a format that does not exist in any of my settings.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_0 on 2016-09-29. Score: 1
  
  Ok, I found it.
  In CRM/Badge/BAO/Badge.php around line 101 it says:
  // hack to fix date field display format
  if (strpos($element, '_date')) {
    $value = CRM_Utils_Date::customFormat($value, "%B %E%f");
  }
  
  So I just re-hacked the hack and replaced "%B %E%f" with "%e %B %Y".
  
  
  ---
  
  