Làm cách nào để có được micro giây trong PHP?
Tôi quyết định thêm bài đăng rất đơn giản này để chứng minh cách chúng ta có thể lấy thời gian hiện tại tính bằng micro giây, mili giây và nano giây sau đó chuyển đổi chúng trở lại thời gian hiện tại Show
Thí dụ// MILLISECONDS Kết quảCUR MILLISECONDS:1523390684112 Đôi khi có thể cần phải có thời gian với phần micro giây. Đặc biệt nó rất tốt cho những thứ như ghi nhật ký khi nhiều mục được ghi lại mỗi giây và tốt hơn là biết chúng được trải ra như thế nào Thoạt nhìn mọi thứ có vẻ rất dễ dàng print date('Y-m-d H:i:s.u') ; ngày in ('Y-m-d H. i. s. u') ; trong đó u là micro giây Tuy nhiên, hóa ra hướng dẫn sử dụng PHP có một ghi chú nhỏ ghi rõ
Điều đó có nghĩa là bạn vẫn hoạt động nhưng trong trường hợp gọi hàm date() thì kết quả luôn là. 000000 Vì vậy, giải pháp đơn giản có thể là một cái gì đó như thế này print date('Y-m-d H:i:s') . substr((string)microtime(), 1, 8); ngày in ('Y-m-d H. i. S'). chất nền((chuỗi)microtime(), 1, 8); Nhưng nhược điểm của giải pháp trên là hai cuộc gọi đến các chức năng liên quan đến thời gian có khả năng gây ra một số vấn đề về độ chính xác
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óaCá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ôngVí 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 tiếng vang microtime(); // đầu ra. 0. 28552700 1642373103 ?> – Chuyển đúng sang Hàm microtime PHPChẳ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 ”; // đầu ra. Thời gian tính bằng msec giây. 0. 19812600 1642423688 $ giây = microtime(true); echo “Thời gian tính bằng giây. $giây”; // đầu ra. Thời gian tính bằng giây. 1642423688. 1981 ?> Tăng độ chính xác trong vài giâyBạ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óaChẳ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 // đặt độ chính xác thành 16 ini_set(“độ chính xác”, 16); // thực thi hàm microtime(true) tiếng vang vi thời gian (đúng); // đầu ra. 1642439657. 329814 ?> Nhận dấu thời gian PHP mili giâyBạ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óaGiả 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ả // nhân kết quả của microtime(true) với 1000 $milli giây = microtime(true) * 1000; tiếng vang $ mili giây; // đầu ra. 1642423688198. 1 ?> Sử dụng microtime PHP để lấy dấu thời gian Unix trong micro giâyCó 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óaChẳ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 micrô giây như được thấy trong đoạn mã bên dưới // lấy một phần của chuỗi $part = substr(“Chào mừng đến với chức năng hẹn giờ”,5); // lấy thời gian tính bằng micro giây $first = microtime(true) * 1000000; // đặt thời gian ngủ thành năm giây ngủ (5); // thay từ ‘Timing’ bằng ‘PHP’ trong chuỗi con str_replace(“Thời gian”,”PHP”,$part); // lấy thời gian tính bằng micro giây $ giây = microtime(true) * 1000000; // tính thời gian giữa hai lần gọi hàm $sự khác biệt = $thứ hai – $thứ nhất; // in một câu lệnh với micro giây đã trôi qua echo “Từ 'Timing' đã được thay thế sau $difference micro giây khi nhận được chuỗi con. ”; ?> 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 raBạ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à khoảng trắng không? . preg_replace() function to format the output generated by the microtime in PHP. – Ví dụ mã hóaGiả 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 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 // sử dụng hàm microtime() $msec_sec = microtime(); // in thời gian ở định dạng “msec sec” echo “$msec_sec ”; // sử dụng hàm preg_replace() tiếng vang preg_replace(‘/(0). (d+) (d+)/’, ‘$3$1$2’, $msec_sec); ?> Bạn sẽ nhận được kết quả tương tự như thế này sau khi thực hiện đoạn mã trên 0. 18196800 16424352341642435234018196800 Các hàm thời gian PHP Chỉ trả về thời gian tính bằng giâyKhông còn nghi ngờ gì nữa, hàm microtime của PHP cho kết quả khá khả quan. Nhưng nếu bạn chỉ quan tâm đến thời gian hiện tại tính bằng giây, thì hàm time() cũng có thể là một lựa chọn tốt. Hàm đã nêu trả về thời gian hiện tại tính bằng giây mà không tính đến micro giây. Bạn có thể sử dụng nó như thế này. thời gian() . – Ví dụ mã hóaHãy tưởng tượng rằng bạn muốn xem bao nhiêu giây đã trôi qua kể từ Kỷ nguyên Unix “Ngày 1 tháng 1 năm 1970 00. 00. 00 giờ GMT. ” Ngoài ra, bạn muốn so sánh kết quả của hàm microtime(true) và time(). Vì vậy, sẽ không có ý tưởng nào tốt hơn là gọi cả hai chức năng cùng lúc để quan sát sự khác biệt trong kết quả thu được Bạn có thể sao chép và dán đoạn mã đã cho để biết thời gian hiện tại của mình tính bằng giây bằng cách sử dụng các hàm microtime(true) và time() // sử dụng hàm thời gian echo “Kết quả của hàm time(). ”. thời gian(); // sử dụng hàm microtime echo “Kết quả của hàm microtime(true). ”. vi thời gian (đúng); ?> Cho đến khi bạn thử đoạn mã trên, bạn có thể nhận thấy sự khác biệt trong kết quả đầu ra tại đây Kết quả của hàm time(). 1642432244Kết quả của hàm microtime(true). 1642432244. 2976 Phần kết luậnTổng kết bài viết, bạn đã thành thạo cách sử dụng hàm microtime trong PHP cùng với cách sử dụng kết xuất của hàm tương tự để tạo ra các kết quả khác nhau. Bây giờ, đã đến lúc xem qua tất cả các chi tiết quan trọng để đảm bảo rằng bạn không kết hợp bất kỳ khái niệm nào
5/5 - (19 phiếu bầu) Vị trí là tất cả Vị trí là tất cả. Tài nguyên Go-To của bạn để Tìm hiểu & Xây dựng. CSS, JavaScript, HTML, PHP, C++ và MYSQL |