gpt4 book ai didi

javascript - ChartJS 将字符串中的日期视为数字

转载 作者:行者123 更新时间:2023-12-03 02:32:08 25 4
gpt4 key购买 nike

我正在尝试从 csv 文件中获取一些字符串,并将其放在 Chartjs 的图表下。

我写了这个 php 函数:

function getTitle($id) {
$stations = fopen("stations.csv", 'r');
//$csv_data = fopen(date("G") . '.csv', 'r');
$csv_data = fopen('16.csv', 'r'); //fopen("/mnt/weather-data/" .
date("Y/m/d/G") . ".csv", 'r');
$data = array();
$DAY_LENGTH = 60 * 60;
$currentDate = date('U');

while (($line = fgetcsv($csv_data)) !== FALSE) {
$date = date('U', strtotime($line[1]));
if ($date >= ($currentDate-$DAY_LENGTH) && $line[2] == $id) {
array_push($data, $line[0]);
}
}

for ($i = 0; $i < count($data); $i++) {
echo $data[$i] . ",";
}
fclose($stations);
fclose($csv_data);
}

工作正常,在我调用此函数的任何地方,它都会打印必要的字符串,这是一个日期,例如 2018-02-08。

当我尝试在 ChartJS 中需要的标签部分调用此函数时。它以总和的形式返回该日期,因此 2018-02-08 将返回 2008 年。

labels: [<?php getTitle(($_GET['id']))?>],

我做错了什么?

当我尝试将 $line[0] 更改为 $line[1] 时出现另一个问题,即以下格式的时间:20:17:36,我的整个应用程序停止工作..

希望有人能帮助我!!

最佳答案

您的代码的问题是 echo 将仅输出变量的内容,但当您将其值解析为 JavaScript 数组时,您需要用引号将您的值引起来。所以如果你改变

for ($i = 0; $i < count($data); $i++) {
echo $data[$i] . ",";
}

进入

for ($i = 0; $i < count($data); $i++) {
echo "'" . $data[$i] . "',";
}

它应该可以工作。这也将解决您的其他问题。因此,通过此更改,您也应该能够利用这些时间。

关于javascript - ChartJS 将字符串中的日期视为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48693197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com