For reference, here's the helper method that I came up with to check for newness. It supports both the Featured dropdown as well as the dates, and supports either date being empty as well.
public function isNew($product)
{
if ($product->getData('featured_product')) {
return true;
}
if ($product->getData('news_from_date') == null && $product->getData('news_to_date') == null) {
return false;
}
if ($product->getData('news_from_date') !== null) {
if (date('Y-m-d', strtotime($product->getData('news_from_date'))) > date('Y-m-d', time())) {
return false;
}
}
if ($product->getData('news_to_date') !== null) {
if (date('Y-m-d', strtotime($product->getData('news_to_date'))) < date('Y-m-d', time())) {
return false;
}
}
return true;
}
UPDATE: Thanks to @Rooooomine for mentioning that this manual date conversion I suggested is a very bad idea due to potential locale issues. Check out Mage::app()->getLocale()->isStoreDateInInterval($product->getStoreId(), $newsFromDate, $newsToDate)
instead.
isObjectNew()
but I get what you're saying.