You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP中生成等效于yyyyMMddHHmmssffff格式的字符串

解决方案:PHP生成对应VB yyyyMMddHHmmssffff格式的时间字符串

你遇到的长度问题,是因为microtime(true)返回的浮点数转字符串时,会省略末尾的零(比如微秒部分只有两位时,就不会补零到六位),导致截取后长度不足。下面提供两种可靠的实现方式:

方法一:基于microtime()拆分处理

// 拆分微秒和时间戳(microtime()返回"0.xxxxxx 1234567890"格式的字符串)
list($microSecStr, $timestamp) = explode(' ', microtime());
// 生成日期时间部分(YYYYMMDDHHmmss)
$datePart = date('YmdHis', $timestamp);
// 提取微秒的前四位,不足四位自动补零
$microPart = str_pad(substr($microSecStr, 2, 4), 4, '0');
// 拼接最终结果
$result = $datePart . $microPart;

方法二:基于DateTime类处理

PHP的DateTime类支持直接获取微秒(格式符u对应六位微秒),取前四位即可匹配VB的ffff精度:

$dt = new DateTime();
// 拼接日期时间部分和前四位微秒
$result = $dt->format('YmdHis') . substr($dt->format('u'), 0, 4);

说明

VB的ffff对应0.1毫秒精度(四位数字,范围0000-9999),上述两种方法都能保证末尾四位的长度稳定,不会出现截断或长度不足的问题。

内容的提问来源于stack exchange,提问作者user1765369

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 11:23:10