【问题标题】:How do I convert this specific time into the one here?如何将此特定时间转换为此处的时间?
【发布时间】:2015-03-31 18:25:02
【问题描述】:

身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体身体

【问题讨论】:

标签: php sql date time converter


【解决方案1】:

我喜欢使用 PHP 的 DateTime 类,这里有一个例子。

$newdate = new DateTime($yourdate);
$date = $newdate->format('Y-m-d H:i:s');

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$stmt = $mysqli->prepare("UPDATE table SET column = ? WHERE row = ?")
$stmt->bind_param("ss", $date, $row);
$stmt->execute();

编辑:
因此,您没有从抓取的站点中获得格式正确的日期,它是 HTML。我建议用 JQuery 处理这个问题。

这就是你所拥有的:

<th colspan="3" class="comp-date"> Saturday, February 7, 2015</th><td class="status"> 17:30</td>

我们可以通过类名获取所需的信息,下面的代码将需要进入一个 PHP 文件。

<?php
    $scrapedDate = ....;
?>
<html>
<head>
//add JQuery to the <head> section//
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>

<script>
$(function() {
    $scraped = '<?= $scrapedDate ?>'; //get data from PHP//
    $scrapedDate = $($scraped).closest('.comp-date').text().trim();
    $scrapedTime = $($scraped).closest('.status').text();
    $dateTime = $scrapedDate+$scrapedTime;

    alert($dateTime);
    return false;
});
</script>
</head>

我对此进行了测试,它可以正常工作,但是,在这样做之后,您需要将其恢复到 PHP 中,您可以使用 AJAX 来执行此操作。

【讨论】:

  • 我的日期格式为 $dateTime:2015 年 2 月 7 日星期六 17:30 以下不起作用:$dateTimeSQL=Date('Ymd h:i:s', strtotime($约会时间));它打印 1970-01-01 01:00:00 但是,如果我这样做: Date('Y-m-d h:i:s', strtotime('Saturday, February 7, 2015 17:30'));它正确显示为 2015-02-07 05:30:00 有什么问题?
  • 你试过我的答案了吗?格式应该是正确的。
  • 看来我的日期变量正在从源网站获取隐藏的 html,因为它已被废弃。由于您的解决方案出现错误,我发现了这一点。查看错误:致命错误:未捕获的异常 'Exception' 带有消息 'DateTime::__construct(): Failed to parse time string (<th colspan="3" class="comp-date>Saturday, February 7, 2015</th><td class=“status”> 17:30</td>) 如何删除 HTML 并将日期仅保留在我的变量中?为什么当我回显它时只打印日期?认为这是一个干净的约会?
【解决方案2】:
Date('Y-m-d h:i:s', strtotime($datestring));

【讨论】:

    【解决方案3】:

    你是如何构造你的 $dateTime 字符串的?能发下代码吗?看起来你的答案已经完成了一半

    类似: $dateTime = $day.",".$month.",".$year;

    【讨论】:

    • $dateTime=$date.$time.'';当我打印 $dateTime 时,我得到“2015 年 2 月 7 日星期六 17:30”。当我将它手动放入 strtotime 时,它​​就可以工作了。但是,如果我将 $dateTime 发送到 strtotime 它会失败并给出默认的 1970 时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多