Snippets

This Mächler TYPO3 Extbase Model - Remove DateTime Offset (Workaround for buggy DateTime handling)

Created by This Mächler
/**
 * Shows
 */
class Shows extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {

	/**
	 * Datum und Zeit der Vorstellung
	 *
	 * @var \DateTime
	 * @validate NotEmpty
	 */
	protected $dateTime = NULL;

	/**
	 * Returns the dateTime
	 *
	 * @return \DateTime $dateTime
	 */
	public function getDateTime() {
		return return $this->removeDateTimeOffset($this->dateTime);
	}

	/**
	 * Sets the dateTime
	 *
	 * @param \DateTime $dateTime
	 * @return void
	 */
	public function setDateTime(\DateTime $dateTime) {
		$this->dateTime = $dateTime;
	}

	
	/**
	 * Removes the Timezone-Offset from dateTime
	 *
	 * @param \DateTime $dateTime
	 * @return \DateTime
	 */
	private function removeDateTimeOffset($dateTime){
	  if( !($dt = $dateTime) )
	    return NULL;
	  // revert timezone shift done by mapper
	  $dtLoc = new \DateTime();
	  return $dtLoc->setTimeStamp( $dt->getTimeStamp() - $dt->getOffset() );
	}

}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.