%doc>
Example:
  <& /elements/tr-input_date-field,
       {
          'name'  => 'field_name',
          'value' => $current_value,
          'label' => 'Label',
          #optional
          'format'      => '%m/%d/%Y', #overrides date_format config
          'usedatetime' => 1, #use DateTime->strftime to format the date
                              # instead of Date::Format->time2str
          'noinit'      => 1,          #first one on the page is enough
          'required'    => 1,
       },
  &>
%doc>
% unless ( $noinit ) {
% }
<% include('/elements/tr-td-label.html',
     'label'    => $label,
     'required' => $required ) %>
  
> <%init>
my($name, $value, $label, $format, $usedatetime, $noinit, $colspan, $required);
if ( ref($_[0]) ) {
  my $opt = shift;
  $name        = $opt->{'name'};
  $value       = $opt->{'value'};
  $label       = $opt->{'label'};
  $format      = $opt->{'format'};
  $usedatetime = $opt->{'usedatetime'};
  $noinit      = $opt->{'noinit'};
  $colspan     = $opt->{'colspan'} || 1;
  $required    = $opt->{'required'};
} else {
  ($name, $value, $label, $format, $usedatetime) = @_;
  $colspan = 1;
}
my $conf = new FS::Conf;
$format ||= $conf->config('date_format') || '%m/%d/%Y';
$label = $name unless $label;
if ( $value =~ /\S/ ) {
  if ( $usedatetime ) {
    my $dt = DateTime->from_epoch(epoch => $value, time_zone => 'floating');
    $value = $dt->strftime($format);
  } elsif ( $value =~ /^\d+$/ ) {
    $value = time2str($format, $value);
  }
} else {
  $value = '';
}
%init>  |