我正在try 获取用于绘制双曲线图的日期数组,但我的数据是100赫兹,所以我需要时间刻度在百分之一秒.我首先在php中生成数据数组,所以我的循环如下所示:

$time = strtotime($mydata['date'])*1000; // get time string 1000 times bigger for milliseconds
foreach ($data_array as $key=>$d) {
    $mydate = date('Y-m-d H:i:s.v', $time/1000);
    $time += 10; // add one hundredth of a second each iteration supports 1-second intervals
    echo $time." : ".$mydate."<br />";
}

其输出如下所示:

1704842176010 : 2024-01-09 23:16:16.000
1704842176020 : 2024-01-09 23:16:16.000
1704842176030 : 2024-01-09 23:16:16.000
1704842176040 : 2024-01-09 23:16:16.000
1704842176050 : 2024-01-09 23:16:16.000
1704842176060 : 2024-01-09 23:16:16.000
1704842176070 : 2024-01-09 23:16:16.000
1704842176080 : 2024-01-09 23:16:16.000
1704842176090 : 2024-01-09 23:16:16.000
1704842176100 : 2024-01-09 23:16:16.000
1704842176110 : 2024-01-09 23:16:16.000
1704842176120 : 2024-01-09 23:16:16.000
1704842176130 : 2024-01-09 23:16:16.000
1704842176140 : 2024-01-09 23:16:16.000
1704842176150 : 2024-01-09 23:16:16.000

正如你所看到的,百分之一秒没有被翻译.我遗漏了什么?

谢谢,提前.

推荐答案

Date()的参数是一个整型,如下所示:

date(string $format, ?int $timestamp = null): string

所以分数被丢弃(如果你使用浮点数据类型作为参数,一些系统可能会提示警告/错误)

因此,对于您的情况,其中一种方法是使用DateTime::createFromFormat()来完成工作,例如:

<?php

$time=1704842176012;

for($index=0; $index <10; $index++) {

  $time += 10; 

  $d = DateTime::createFromFormat('U.v', number_format($time/1000, 3, '.', ''));

  echo $time . ":"; 
  print $d->format("Y-m-d H:i:s.v");
  echo "<br>";
    
}

你可能会在这sandbox中看到效果

Php相关问答推荐

无法使用PHP DomDocument找到IMG元素

FatFreeFramework上的不同路由

PHP如何将ARRAY_MAP与Reset()配合使用

如何修复警告:当使用WordPress get_the_Terms()时,Foreach()参数必须是ARRAY|OBJECT类型?

为什么本地主机(Xampp)上的laravel运行速度比普通html站点慢?

如何在WooCommerce产品子类别中显示特定内容

筛选器具有多个查询之一

Symfony Validator:如何使用XML表示法验证深度嵌套的数据?

如何使用定制的StateProvider设置JsonLd@上下文?

更改WooCommerce checkout 中的错误消息以获得不可用的送货方式

PHP 支持 APNG 文件吗?

如何在laravel中获得两个时间戳之间的小时和分钟差异

在 PHP MySQL 中自动生成账单编号

如何从 URL 核心 PHP 中的 API 获取 JSON?

将自定义保存金额移至 Woocommerce 简单产品中的价格以下

根据购买产品的自定义字段替换WooCommerce添加到购物车按钮

优化后的标题:如何在WooCommerce我的帐户编辑表单中添加账单字段

按前 3 列对二维数组中的行数据进行分组,然后用逗号连接每组中的其余列

获取具有所有特定相关模型的模型

从 d-m-Y 日期格式 laravel 计算月份 = 01 的列的总和