src/log4php/pattern/LoggerPatternConverterDate.php
private function date($format, $utimestamp) {
		$timestamp = floor($utimestamp);
		$ms = floor(($utimestamp - $timestamp) * 1000);
		$ms = str_pad($ms, 3, '0', STR_PAD_LEFT);
	
		return date(preg_replace('`(?<!\\\\)u`', $ms, $format), $timestamp);
	}
private function date($format, $utimestamp) {
		$timestamp = floor($utimestamp);
		$ms = floor(($utimestamp - $timestamp) * 1000);
		$ms = str_pad($ms, 3, '0', STR_PAD_LEFT);
	
		return date(preg_replace('`(?<!\\\\)u`', $ms, $format), $timestamp);
	}
Currently, PHP date() function always returns zeros for milliseconds (u)
on Windows. This is a replacement function for date() which correctly
displays milliseconds on all platforms.

It is slower than PHP date() so it should only be used if necessary.