Microtime trả về trong php là gì?

PHP microtime là một hàm tích hợp trả về dấu thời gian Unix hiện tại ở định dạng “msec sec”. Ở đây, “sec” đại diện cho giây và “msec” đại diện cho micro giây sau khi được chuyển đổi thành giây. Hàm đã cho chấp nhận một đối số boolean tùy chọn duy nhất “as_float. ”

Vì vậy, kết quả trả về bởi microtime trong PHP có thể được đọc là “microseconds_as_seconds seconds. ” Ngoài ra, bạn không thể nói rằng hàm microtime() trả về thời gian hiện tại tính bằng micro giây. Hơn nữa, nếu bạn chuyển “true” cho hàm microtime của PHP, bạn sẽ nhận được thời gian hiện tại chỉ tính bằng giây.

Ví dụ mã hóa

Các ví dụ mã hóa sau đây đã được tạo để chỉ cho bạn cách sử dụng chức năng microtime. Ngoài ra, bạn sẽ có thể thấy sự khác biệt trong kết quả đầu ra dựa trên đối số được truyền cho hàm đã cho

– Hàm microtime PHP với đối số không

Ví dụ: bạn muốn hiển thị thời gian hiện tại ở dạng “microseconds_as_seconds seconds. ” Ở đây bạn chỉ cần gọi hàm microtime() mà không cần chuyển bất kỳ đối số nào

Vui lòng xem mã một lớp bên dưới để biết thời gian hiện tại bằng micro giây


// sử dụng hàm microtime
echo microtime();
// đầu ra. 0. 28552700 1642373103
?>

– Chuyển đúng sang Hàm microtime PHP

Chẳng hạn, bạn muốn lấy thời gian hiện tại tính bằng giây. Bạn cần sử dụng hàm microtime của PHP bằng cách chuyển “true” làm đối số

Vui lòng xem khối mã này để so sánh các kết quả thu được trước và sau khi chuyển "true" làm đối số


$msec_sec = microtime();
echo “Time as msec sec: $msec_sec
”;

// output: Time as msec sec: 0.19812600 1642423688
$seconds = microtime(true);
echo “Time in seconds: $seconds”;
// output: Time in seconds: 1642423688.1981
?>

Tăng độ chính xác trong vài giây

Bạn đang tìm kiếm thời gian chính xác hơn do hàm microtime(true) trả về? . tập tin ini. Lệnh đã nói có giá trị mặc định được đặt thành “14. ” Nhưng nếu bạn muốn có nhiều chữ số hơn, bạn có thể gọi hàm ini_set() để đặt số chữ số mong muốn

– Ví dụ mã hóa

Chẳng hạn, bạn muốn đặt độ chính xác thành 16 chữ số thay vì 14. Do đó, bạn sẽ gọi hàm ini_set() bằng cách chuyển “độ chính xác” và “16” làm đối số. Sau đó, bạn sẽ gọi hàm microtime(true) để lấy thời gian hiện tại tính bằng giây với độ chính xác cao hơn

Các hướng dẫn mã hóa được cung cấp ở đây sẽ hỗ trợ bạn tăng độ chính xác

 
// setting the precision to 16
ini_set(“precision”, 16);
// executing the microtime(true) function
echo microtime(true);
// output: 1642439657.329814
?>

Nhận dấu thời gian PHP mili giây

Bạn có muốn có thời gian PHP tính bằng mili giây không? . Tất cả những gì bạn cần làm là nhân đầu ra được tạo bởi hàm microtime(true) với 1000. Bạn không nên nghi ngờ quá trình này vì nó là một công thức toán học cơ bản và thực tế là một giây lớn hơn 1000 lần so với một phần nghìn giây

– Ví dụ mã hóa

Giả sử bạn có một chương trình yêu cầu thời gian tính bằng mili giây. Vì vậy, bạn sẽ chỉ cần thực thi hàm microtime PHP bằng cách chuyển true làm đối số. Do đó, bạn sẽ nhận được thời gian hiện tại tính bằng giây và sau đó bạn sẽ nhân số giây thu được với 1000 để có thời gian PHP tính bằng mili giây

Khối mã được chia sẻ dưới đây sẽ hữu ích cho bạn trong việc hiểu toàn bộ quy trình cũng như độ chính xác của kết quả


// multiply the result of microtime(true) by 1000
$milliseconds = microtime(true) * 1000;
echo $milliseconds;
// output: 1642423688198.1
?>

Sử dụng microtime PHP để lấy dấu thời gian Unix trong micro giây

Có thể lấy dấu thời gian Unix hiện tại tính bằng micro giây không? . Vì một phần triệu giây là phần 1/1000000 của giây, nên giá trị thời gian thu được tính bằng phần triệu giây sẽ đủ dài. Và thật không may, nếu bạn đang sử dụng Hệ điều hành 32 bit, bạn sẽ không nhận được giá trị thời gian mong muốn

Tuy nhiên, nếu bạn có Hệ điều hành 64 bit, bạn có thể nhân đầu ra của hàm microtime(true) với 1000000 để có được thời gian hiện tại tính bằng micro giây

– Ví dụ mã hóa

Chẳng hạn, bạn đã tạo một chương trình gọi hai hàm với chênh lệch thời gian là năm giây. Bây giờ, bạn muốn xem có bao nhiêu micro giây đã trôi qua giữa hai lần gọi hàm. Bạn sẽ cần sử dụng hàm microtime(true) và nhân đầu ra của cùng một hàm với 1000000 tại thời điểm gọi hàm đầu tiên. Tiếp theo, bạn sẽ lặp lại quy trình tương tự trong khi thực hiện chức năng thứ hai

Cuối cùng, bạn sẽ trừ đi thời gian ghi lại thứ hai từ lần đầu tiên để có được thời gian đã trôi qua tính bằng micro giây như được thấy trong đoạn mã bên dưới


// getting a part of a string
$part = substr(“Welcome To Timing Functions”,5);
// getting the time in microseconds
$first = microtime(true) * 1000000;
// setting the sleeping time to five seconds
sleep(5);
// replacing the word ‘Timing’ with ‘PHP’ in the substring
str_replace(“Timing”,”PHP”,$part);
// getting the time in microseconds
$second = microtime(true) * 1000000;
// calculating the time elapsed between the two function calls
$difference = $second – $first;
// printing a statement with elapsed microseconds
echo “The word ‘Timing’ was replaced after $difference microseconds of getting the substring.”;
?>

Bạn sẽ nhận được đầu ra trông giống như thế này

Từ 'Timing' đã được thay thế sau 5015866 micro giây để nhận được chuỗi con

Định dạng đầu ra

Bạn có thể định dạng kết quả microtime PHP theo cách sao cho “micro giây là giây” theo sau “giây” mà không có dấu chấm và dấu cách không? . preg_replace() function to format the output generated by the microtime in PHP.

– Ví dụ mã hóa

Giả sử bạn có một yêu cầu về thời gian trong chương trình của mình. Yêu cầu này có giá trị thời gian giống như yêu cầu do hàm microtime của PHP tạo ra, nhưng bạn không được phép thêm dấu chấm và khoảng trắng. Bạn sẽ cần sử dụng hàm preg_replace() bằng cách chuyển “/(0). (d+) (d+)/” và chuỗi thay thế “$3$1$2” cùng với đầu ra của hàm microtime PHP

Ngoài ra, vui lòng xem mã hiển thị ở đây để triển khai ví dụ trên

Chủ đề