title: C# WinForms DateTimePicker Custom Format
body: <p>I have a <code>DateTimePicker</code> on my form. I'd like part of the format to include "today", "tomorrow" etc as appropriate. I've got a simple implementation to work out the value (and there are much better ones <a href="https://stackoverflow.com/questions/11/how-do-i-calculate-relative-time">here</a>) but I'd like to take that implementation and put the value directly into the <code>CustomFormat</code> property of the <code>DateTimePicker</code>.</p>
  
  <p>For example, given the following format:</p>
  
  <pre><code>dateTimePicker.CustomFormat = "dd MMM yyyy (YTT) HH:mm";
  </code></pre>
  
  <p>To produce the following display at runtime on 16th April 2011 at 12:00:</p>
  
  <pre><code>"16 Apr 2011 (today) 12:00"
  </code></pre>
  
  <p>I expect this is something involving building a <code>IFormatProvider</code>/<code>ICustomFormatter</code> implementation and <strike>hacking</strike> customising the <code>CurrentCulture</code> to use it.</p>
  
  <p>Many thanks in advance.</p>