Ngày PHP thành mili giây

Câu trả lời đúng là không thể có độ chính xác đến mili giây đối với các hàm ngày/giờ trong PHP. Độ chính xác của các chức năng dựa trên Unix Epoch chỉ là 1k mili giây, một giây. ) Sử dụng các câu trả lời được đề xuất, bạn không có mili giây, nhưng giây được biểu thị bằng số mili giây

Một số máy tính ngày đến mili giây, hữu ích khi mã hóa đồng hồ đếm ngược, cài đặt hết hạn cookie hoặc các tập lệnh liên quan đến ngày khác. Các máy tính được mã hóa bằng JavaScript. Nếu bạn cần tính toán ngày tháng trên các múi giờ, hãy theo liên kết này đến một vài công cụ ngày/múi giờ ở cuối trang này

Giá trị trả về. Theo mặc định, microtime() trả về một chuỗi ở dạng "msec sec", trong đó sec là số giây kể từ Kỷ nguyên Unix (0. 00. 00 tháng 1, 1,1970 GMT) và msec đo micro giây đã trôi qua kể từ giây và cũng được biểu thị bằng giây

Hướng dẫn này sử dụng các hàm strtotime() và date() của PHP để chuyển đổi định dạng ngày giờ. Ví dụ: bạn đã lưu định dạng ngày YYYY-MM-DD trong một biến và cần thay đổi định dạng này thành định dạng MM-DD-YYYY. Chúng ta có thể đạt được điều này bằng cách chuyển đổi ngày đầu tiên thành giây bằng cách sử dụng hàm strtotime(). Sau đó tái tạo lại ngày thành bất kỳ định dạng nào bằng hàm date()

Tổng số mili giây này là mili giây đã trôi qua kể từ dấu thời gian hoặc kỷ nguyên unix tính từ ngày 1 tháng 1 năm 1970. Chỉ cần nhập giá trị mili giây và nhấn nút Convert to Date để tìm ngày. Bạn cũng có thể đặt giá trị mili giây từ nút Hiện hành thành mili giây dấu thời gian hiện tại

Micro giây (được thêm vào trong PHP 5. 2. 2). Lưu ý rằng date() sẽ luôn tạo 000000 vì nó nhận tham số số nguyên, trong khi DateTime. format() không hỗ trợ micro giây nếu DateTime được tạo bằng micro giây. Ví dụ. 654321. v. Mili giây (được thêm vào trong PHP 7. 0. 0). Lưu ý tương tự áp dụng như đối với bạn

Ví dụ cho thấy rõ ràng rằng một phần nghìn giây bằng 10.000 tích tắc. Nó cũng cho thấy rằng mili giây phân số được làm tròn trước khi thực hiện phép cộng; . 5 mili giây đến ngày ban đầu lớn hơn 2 mili giây so với ngày ban đầu

Tại PHP 7. 1 hàm tạo DateTime kết hợp micro giây khi được tạo từ thời điểm hiện tại. Thực hiện các phép so sánh của bạn một cách cẩn thận, vì hai đối tượng DateTime được xây dựng nối tiếp nhau giờ đây có nhiều khả năng có các giá trị khác nhau

Như những người khác đã nêu, bạn có thể sử dụng microtime() để có độ chính xác đến mili giây trên dấu thời gian. Từ nhận xét của bạn, dường như bạn muốn nó là Dấu thời gian UNIX có độ chính xác cao. Một cái gì đó như DateTime. Hiện nay. bọ ve trong. thế giới mạng

Example displaying each time format:

$dateTime = new DateTime();

foreach ([
   'ATOM',
   'COOKIE',
   'ISO8601',
   'RFC822',
   'RFC850',
   'RFC1036',
   'RFC1123',
   'RFC2822',
   'RFC3339',
   'RFC3339_EXTENDED',
   'RSS',
   'W3C',
   ] as $format) {
   eval("print 'DateTimeInterface::$format\t'.\$dateTime->format(DateTimeInterface::$format).\"\n\";");
}

The above example will output:

DateTimeInterface::ATOM    2020-01-28T16:22:37-07:00
DateTimeInterface::COOKIE    Tuesday, 28-Jan-2020 16:22:37 MST
DateTimeInterface::ISO8601    2020-01-28T16:22:37-0700
DateTimeInterface::RFC822    Tue, 28 Jan 20 16:22:37 -0700
DateTimeInterface::RFC850    Tuesday, 28-Jan-20 16:22:37 MST
DateTimeInterface::RFC1036    Tue, 28 Jan 20 16:22:37 -0700
DateTimeInterface::RFC1123    Tue, 28 Jan 2020 16:22:37 -0700
DateTimeInterface::RFC2822    Tue, 28 Jan 2020 16:22:37 -0700
DateTimeInterface::RFC3339    2020-01-28T16:22:37-07:00
DateTimeInterface::RFC3339_EXTENDED    2020-01-28T16:22:37.803-07:00
DateTimeInterface::RSS    Tue, 28 Jan 2020 16:22:37 -0700
DateTimeInterface::W3C    2020-01-28T16:22:37-07:00

@ShinVe Post #3
Cảm ơn về đề xuất, nhưng việc sử dụng U chỉ trả về chính dấu thời gian unix mà không có micro giây do kết quả của .

http. //php. net/manual/en/class. ngày giờ. php
keith tyler dot com ¶

DateTime does not support split seconds (microseconds or milliseconds etc.)
I don't know why this isn't documented.
The class constructor will accept them without complaint, but they are discarded.
There does not appear to be a way to take a string like "2012-07-08 11:14:15.638276" and store it in an objective form in a complete way.

So you cannot do date math on two strings such as:

<?php
$d1=new DateTime("2012-07-08 11:14:15.638276");
$d2=new DateTime("2012-07-08 11:14:15.889342");
$diff=$d2->diff($d1);
print_r( $diff ) ;

/* returns:

DateInterval Object
(
    [y] => 0
    [m] => 0
    [d] => 0
    [h] => 0
    [i] => 0
    [s] => 0
    [invert] => 0
    [days] => 0
)

Có vẻ như bạn sẽ phải sử dụng sprintf() để xuất kết quả từ date() và microtime() ``` $time = microtime(true); . i. s"; $mSecs = $time - floor($time); $mSecs = substr($mSecs,1);
echo '<br />$time ==' .$time; 
echo '<br />'; 
echo '<br />' .sprintf('%s%s', date($dFormat), $mSecs ); 

tiếng vang

**Output:**
[quote]
$time ==1430803280.2856
Tuesday 5th May, 2015 - 12:21:20.28555011749268
[/quote]

Làm cách nào để chuyển đổi thời gian ngày thành mili giây trong PHP?

văn bản. SimpleDateFormat("MM/dd/yyyy HH. mm. ss"). parse("01/01/1970 01. 00. 00"). getTime() / 1000; . .

Dấu thời gian PHP tính bằng giây hay mili giây?

Mô tả ¶ . 00. 00 giờ GMT). Ghi chú. Dấu thời gian Unix không chứa bất kỳ thông tin nào liên quan đến bất kỳ múi giờ địa phương nào. seconds since the Unix Epoch (January 1 1970 00:00:00 GMT). Note: Unix timestamps do not contain any information with regards to any local timezone.

Làm cách nào để có được micro giây trong PHP?

Theo mặc định, microtime() trả về một chuỗi ở dạng "msec sec", trong đó sec là số giây kể từ khi Unix . 00. 00 tháng 1, 1,1970 GMT) và msec đo micro giây đã trôi qua kể từ giây và cũng được biểu thị bằng giây dưới dạng phân số thập phân.

Làm cách nào để có được thời gian trong MS bằng PHP?

Hàm microtime() của PHP trả về dấu thời gian Unix hiện tại . Theo mặc định, điều này trả về một giá trị chuỗi ở dạng msec sec. Nếu bạn chuyển giá trị boolean true làm tham số cho phương thức này, nó sẽ trả về thời gian hiện tại tính bằng giây kể từ kỷ nguyên Unix chính xác đến micro giây gần nhất.