When parsing timestamps from time-enabled date fields, the Hours and Minutes are ignored, and always gets set to 0, that means, I get 0:00.
Making it happen
Inside a template, have an input_date_tag() with the attribute withtime set to TRUE:
<?php echo input_date_tag('date_with_time', time(), array('rich' => true, 'withtime' => true)); ?>
Have it submitted into a form, and get the time-stamp with the sfI18N in the Action:
$this->getContext()->getI18N()->getTimestampForCulture($this->getRequestParameter('date_with_time'), 'en_US');
It will ignore any time that you specify (Hour, Minute), and will only take into account the dates (Year, Month, day).
Source of the Problem
Line 160 of file i18n/sfI18N.class.php, which is the return expression of the sfI18N::getTimestampForCulture() method, have this buggy line:
return mktime(0, 0, 0, $m, $d, $y);
It takes the Month ($m), Day ($d) and Year ($y) from sfI18N::getDateForCulture(), but does not take the further steps to parse the Hour and the Minute. It is clear that these have been hard-coded to 0.
Consideration
I have found this bug since 1.0.8 and even on the stable 1.0.11, and probably on the SVN; but I forgot to report. This really needs to be fixed on the next stable release, and must be fixed before 1.1.0 is out.