이 쿼리의 목표는 "m-d-Y H:i: s.u"는 밀리초 단위로 제공되는 Unix 타임스탬프에서 가져온 것입니다. 그러나 결과의 마이크로초 필드에 계속 000000이 표시됩니다.
<code class="php">$milliseconds = 1375010774123; $d = date("m-d-Y H:i:s.u", $milliseconds/1000); print $d;</code>
출력:
07-28-2013 11:26:14.000000
이 문제를 해결하려면, 입력 형식 "U.u"를 사용할 수 있습니다:
<code class="php">$now = DateTime::createFromFormat('U.u', microtime(true)); echo $now->format("m-d-Y H:i:s.u");</code>
출력:
04-13-2015 05:56:22.082300
이 접근 방식은 PHP 설명서의 다음 형식 지정자를 활용합니다.
createFromFormat() 메서드는 명시적으로 제공되지 않은 경우 일반적으로 현지 시간대를 사용합니다. 하지만 microtime()은 Unix Epoch 이후 경과된 초 수를 UTC로 반환하므로 DateTime 객체는 암시적으로 UTC로 초기화됩니다.
특정 시간대에 대한 시간을 표시해야 하는 경우 설정해야 합니다. 초기 DateTime 생성 후 setTimeZone() 사용:
<code class="php">$now->setTimeZone(new DateTimeZone('America/New_York'));</code>
형식화된 날짜 문자열을 MySQL에 입력하려면 형식을 다음과 같이 수정해야 합니다.
<code class="php">format("Y-m-d H:i:s.u")</code>
위 내용은 밀리초에서 m-d-Y H:i:s.u로 날짜 형식을 지정할 때 마이크로초 필드에 000000이 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!