php에는 밀리초 타임스탬프를 얻는 자체 함수가 없지만 microtime() 함수를 제공합니다. 선택적 매개 변수 없이 호출하면 이 함수는 "msec sec" 형식의 문자열을 반환합니다. 여기서 sec는 Unix 시대(1970년 1월 1일 0:00:00 GMT) 이후의 초입니다. 여기서 msec는 마이크로초 부분입니다. 문자열의 두 부분 모두 초 단위로 반환됩니다.
<?php echo microtime(); //输出结果是 //0.25139300 1138197510
결과는 두 부분으로 나누어져 있습니다. 즉 전반부는 밀리초(단, 단위는 초)이고 후반부는 초입니다.
이제 이를 기반으로 다음과 같이 수정합니다.
<?php list($msec, $sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); 这样就可以了,$msectime就是当前的毫秒数!可以将这两行封装成一个函数方便使用。 <?php //返回当前的毫秒时间戳 function msectime() { list($msec, $sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); }
참고: sprintf('%.0f', $num)는 소수 부분 없이 부동 소수점 숫자를 출력합니다.
아직 끝나지 않았습니다. 변경했습니다. 타임스탬프 밀리초 수준에 도달한 후 데이터베이스 데이터를 다시 업데이트하면 범위를 벗어났다는 메시지가 나타납니다. 알고 보니 time() 함수에서 얻은 두 번째 수준 타임스탬프를 데이터베이스에 저장하기 위해 int 형식을 사용한 것으로 나타났습니다. 저장 범위가 충분해서 밀리세컨드 단위로 변경했습니다. 네, BIGINT형으로 변경해 주셔야 합니다. 정수형 바이트 범위(기호) 범위(비기호) 사용
Tinyint 1바이트(-128, 127)(0,255) 작은 정수 값
smallint 2바이트(-32 768, 32 767 ) > 215) 큰 정수 값 valueINT 또는 Integer 4 바이트 (-2 147 483 648, 2 147 483 647) (0, 4 294 967 295) 큰 정수 값 8 바이트 (-9 233 372 036 854 775 808, 923 372 036 854 775 807) (0, 18 446 744 073 709 551 615) 매우 큰 정수 값
관련 권장 사항:
php는 현재 밀리초 타임스탬프를 가져오는 방법을 구현합니다. PHP는 현재 타임스탬프 기능을 가져옵니다. 설명했다 자세히php는 두 타임스탬프 사이의 시간 차이를 계산합니다. 두 가지 방법
위 내용은 PHP에서 현재 타임스탬프를 밀리초 단위로 정확하게 가져오는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!