Whew, lost nearly a week on this issue!! But this post pointed to the solution, that is, after having discovered that you could simply go in the table 'eav_attribute' and change the 'frontend_input' value from 'date' to 'datetime' and have the calendar widget in the backend also to display the hour and minute (and the input field to accept the value).
But then Magento didn't save the time of day and so...
I copied the file app/code/core/Mage/Eav/Model/Entity/Attribute/Backend/Datetime.php in my local folder (app/code/local/Mage/Eav/Model/Entity/Attribute/Backend) and modified it as follows:
around line 44 substitute to:
try {
$value = $this->formatDate($object->getData($attributeName), $attributeFrontendInput);
this:
try {
$attributeFrontendInput = $this->getAttribute()->getFrontendInput();
$value = $this->formatDate($object->getData($attributeName), $attributeFrontendInput);
(here we get the attribute frontend_input model, that is 'date' or 'datetime' or whatever and then pass it to the formatDate function)
Then in the formatDate function later in the code to accept the new second parameter add to the parameter list in the function header the variable $feInput
public function formatDate($date, $feInput)
and then around line 87 substitute to:
$date = Mage::app()->getLocale()->date($date,
Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT),
null, false
);
this:
if ($feInput == 'datetime') {
$date = Mage::app()->getLocale()->date($date,
Mage::app()->getLocale()->getDateTimeFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT),
null, false
);
} else {
$date = Mage::app()->getLocale()->date($date,
Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT),
null, false
);
}
Here we test the $feInput variable and use the getDateTimeFormat function in the Magento core codebase if the input model equals 'datetime'.
I hope someone maybe could spare a few working days with this. Thanks to all the guys and girls on Stack Exchange!!
EDIT:
this is just for being able to input and store correctly datetime values from Magento backend. Having the datetime values correctly checked and processed in the various points in which they are processed in the frontend is another story...