php日期转微秒,使用PHP生成独特的微秒级

PHP中的time()函数返回当前的Unix时间戳, 这是从 Unix时代的秒数开始测量的时间, 在某些情况下非常有用,但并非总是如此。与大多数其他PHP函数一样,此函数也是跨平台兼容的,因为它适用于Unix,Linux,Windows和Mac。

PHP函数的 microtime()更精确和更精细,因为它以微秒返回当前的Unix时间戳, 我们的问题是它返回一个包含空格和点的字符串,例如,如果您从PHP中生成文件名或HTML或CSS标识符的一部分,那么这个字符串不是很有用。

这就是为什么我们在下面写了这么个小而有用的函数, 它基于PHP函数 microtime (),但是,返回一个干净的数字字符串。

请享用!<?php /**

* Generates and returns a string of digits representing the time of the

* current system in microseconds granularity.

*

* Compared to the standard time() function, the microtime() function is more

* accurate and in addition, successive quick calls inside a loop generate

* unique results; which can be quite useful in certain cases.

*

* Our function below generates digits only output based on the time stamp

* generated by the microtime() function.

*

* @return string

*/functionget_clean_microtimestamp_string() {//Get raw microtime (with spaces and dots and digits)$mt=microtime();//Remove all non-digit (or non-integer) characters$r="";$length=strlen($mt);

for($i=0;$i

if(ctype_digit($mt[$i])) {$r.=$mt[$i];

}

}//Returnreturn$r;

}

注意,microtime()仅在支持gettimeofday()系统调用的操作系统上可用, 我们在 Windows 7. Windows 8 和Ubuntu14上测试了它,它们上都能正常工作。

注意microtime()会产生一个不同的输出值,即使是连续多次调用, 你自己试试吧, 或者,从命令行使用下面的PHP代码,看看我们如何测试函数。<?phpfunctionarray_has_duplicates ($array) {

returncount($array)!==count(array_unique($array));

}$microtimes= array();

for($i=0;$i<1000;$i++) {$microtimes[] =get_clean_microtimestamp_string();

}

foreach($microtimesas$microtime) {

echo$microtime."n";

}

if(array_has_duplicates($microtimes)) {

echo"FOUND DUPLICATES!n";

}

else {

echo"NO DUPLICATES FOUND. AWESOME!n";

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值