PHP에서 현재 타임스탬프를 밀리초 단위로 정확하게 가져오는 방법

小云云
풀어 주다: 2023-03-21 12:42:01
원래의
13597명이 탐색했습니다.

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(&#39; &#39;, microtime());
$msectime =  (float)sprintf(&#39;%.0f&#39;, (floatval($msec) + floatval($sec)) * 1000);
这样就可以了,$msectime就是当前的毫秒数!可以将这两行封装成一个函数方便使用。
<?php
//返回当前的毫秒时间戳
function msectime() {
  list($msec, $sec) = explode(&#39; &#39;, microtime());
  $msectime =  (float)sprintf(&#39;%.0f&#39;, (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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!