Php 如何用UNIX时间戳替换人类可读的日期字符串?

Php 如何用UNIX时间戳替换人类可读的日期字符串?,php,javascript,unix-timestamp,Php,Javascript,Unix Timestamp,我有一个非常大的txt文件javascript数组——太大了,我无法单独编辑每个条目。看起来是这样的: ["12/1/2011 00:00",15848],["12/1/2011 01:00",15108],["12/1/2011 02:00",14643],["12/1/2011 03:00",14265], &c. 如何通过PHP传递此文件以更改所有日期并编写新文件?我想我需要使用strtime()或strtime(),但我不确定如何继续 日期格式为月/日/年 编辑:我最终从CSV

我有一个非常大的txt文件javascript数组——太大了,我无法单独编辑每个条目。看起来是这样的:

["12/1/2011 00:00",15848],["12/1/2011 01:00",15108],["12/1/2011 02:00",14643],["12/1/2011 03:00",14265], &c.
如何通过PHP传递此文件以更改所有日期并编写新文件?我想我需要使用
strtime()
strtime()
,但我不确定如何继续

日期格式为
月/日/年

编辑:我最终从CSV文件重新创建了阵列。这是我使用的代码,以防有人感兴趣。谢谢你的帮助

$handle = fopen("stuff.csv", "r");

while(($data = fgetcsv($handle, ",")) !== FALSE) {
    echo "[" . strtotime($data[0]) . ", " . $data[1] . "],<br />";
}
$handle=fopen(“stuff.csv”、“r”);
while(($data=fgetcsv($handle,“,”)!==FALSE){
echo“[”.strotime($data[0])。”、“$data[1]”、
”; }
JavasScript

var times = [["12/1/2011 00:00",15848],["12/1/2011 01:00",15108],["12/1/2011 02:00",14643],["12/1/2011 03:00",14265]];
//var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
for(i in times) {
    var time = times[i][0].split(/\/|\s|:/i);
    console.log(time);
    date = new Date(time[2], time[0], time[1], time[3], time[4]);
    console.log(date.getTime());
}

将字符串中的所有日期与正则表达式匹配,然后对结果使用strotime()

$str = '["12/1/2011 00:00",15848],["12/1/2011 01:00",15108],["12/1/2011 02:00",14643],["12/1/2011 03:00",14265]';
$p = '#(\d+/\d+/\d{4}\s\d{2}:\d{2})#';
preg_match_all($p, $str, $matches);

foreach ($matches[1] as $m) {
  echo strtotime($m) . "\n";
}

更新:刚刚意识到您说过您的数据在javascript数组中。您也可以在JS中轻松处理此问题:

var new_times = [];
var times = [["12/1/2011 00:00",15848],["12/1/2011 01:00",15108],["12/1/2011 02:00",14643],["12/1/2011 03:00",14265]];

for(i=0; i < times.length; i++) {
  var d = new Date(times[i][0]);
  var new_arr = [(d.getTime() / 1000), times[i][1]];
  new_times.push(new_arr);
}
var new_times=[];
风险值时间=[“12/1/2011 00:00”,15848),“12/1/2011 01:00”,15108),“12/1/2011 02:00”,14643),“12/1/2011 03:00”,14265];
对于(i=0;i
不能直接调用DateTime上的date,date需要一个timestamp@nyarlathotep:你是对的,尽管我已经完全删除了答案中的PHP部分,因为结果可以在JavaScript@SamNabi我刚刚意识到你在javascript数组中有它。。。您是否将它以JSON字符串形式传递给php?谢谢!这会让我走的。PHP字符串有大小限制吗?我的文件有数百万个字符。我只是把它包含在一个php文件中。它没有被转换为JSON。大小限制是您机器的内存。如果您的数据在csv文件中,您最好使用。。。你也可以看看