我訪問需要一個時間戳是在微秒的API,我可以打印的價值和它的作品它打印此:微秒PHP
1295308800
所以我想我可以乘以1000這一點,然後打印這個,但是當我打印查詢之前,我把它(使用curl)它打印此:
1.2953088E+12
我可以使用不同的變量類型的東西?
謝謝!
我訪問需要一個時間戳是在微秒的API,我可以打印的價值和它的作品它打印此:微秒PHP
1295308800
所以我想我可以乘以1000這一點,然後打印這個,但是當我打印查詢之前,我把它(使用curl)它打印此:
1.2953088E+12
我可以使用不同的變量類型的東西?
謝謝!
如果你以PHP將其轉換爲指數語法(即1.2953088E + 12)的方式發送該值,您可以使用printf
或sprintf
來獲得完整數字,這是一個很好的技巧):
php -r '$date = 12434613435134661234; echo $date;'
1.2434613435135E+19
php -r '$date = 12434613435134661234; printf("%.0f", $date);'
12434613435134660608
然後,您可以使用sprintf
將該號碼分配給變量(作爲字符串)並將其傳遞到遠程API。
注意轉換浮點數的精度不夠。
編輯:
我也想指出的是,PHP的無符號十進制數似乎是精確到19位。所以,這將返回正確的值:
php -r '$date = 6243461343513466123; printf("%u", $date);'
6243461343513466123
當表達同一個值作爲一個浮點數,它失去了它的精度:
php -r '$date = 6243461343513466123; printf("%.0f", $date);'
6243461343513465856
PHP有一個內置的microtime()
功能...
http://php.net/manual/en/function.microtime.php
取決於你想要做什麼,這可能是對你有用的。
下面是關於StackOverflow的後microtime中
如果你正在尋找一個特定的時間戳微秒,然後在這裏檢查出u
格式字符:http://no.php.net/manual/en/function.date.php
你是如何印刷的價值? `回聲時間()* 1000`適合我,並打印一個正常的整數。 – casablanca 2011-01-18 21:54:11
@Pete:第一個是以秒爲單位的時間戳嗎?如果是這樣,從秒到微秒的轉換是`s * 10^6`(`s * 1000000`)而不是`s * 1000`,後者是毫秒。 – netcoder 2011-01-18 21:54:25