title: Why does DisplayFormat with DataFormatString changes "/" (slash) to "-" (dash)?
body: <p>I'm using the following code</p>
  
  <pre><code>// Model
  [DisplayFormat(
      ApplyFormatInEditMode = true, 
      DataFormatString = "{0:dd/MM/yyyy}")]
  public DateTime StartDate { get; set; }
  
  // View
  @Html.EditorFor(model =&gt; model.StartDate)
  </code></pre>
  
  <p>to format the <code>StartDate</code> but the result is <code>xx-xx-xxxx</code> instead of <code>xx/xx/xxxx</code>. How can I solve this and always use the <code>xx/xx/xxxx</code> format?</p>
  
  <p><strong>UPDATE:</strong>
  Changing the culture to <code>en-US</code> seems to work:</p>
  
  <pre><code>var culture = new CultureInfo(userCulture);
  System.Threading.Thread.CurrentThread.CurrentCulture = "en-US";
  System.Threading.Thread.CurrentThread.CurrentUICulture = "en-US";
  </code></pre>
  
  <p>but this <strong>is not a solution</strong> because I may be using a different culture and I still want to show the date in a different way.</p>
  
  <p>If the current culture tells that the date should display <code>dd-MM-yyyy</code> then using <code>DisplayFormat</code> as above has no effect and the dates do not display like <code>dd/MM/yyyy</code>.</p>