首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将日期格式插入数据库+4小时

将日期格式插入数据库+4小时
EN

Stack Overflow用户
提问于 2019-08-01 20:04:29
回答 1查看 135关注 0票数 0

我使用的是完整日历(https://fullcalendar.io)。当我把一个事件从一个时间放到另一个时间时,时间会改变为+4小时。但是当我点击一个日期并添加一个事件时,这种情况不会发生。

这是我的"eventDrop“活动:

代码语言:javascript
复制
eventDrop: function(eventDropInfo) {

    console.log(eventDropInfo);
    $.ajax({
          url: 'update.php',
          data: 'id='+ eventDropInfo.event.id+'title='+ eventDropInfo.event.title+'&start='+ eventDropInfo.event.start.toISOString()+'&allDay='+ eventDropInfo.event.allDay,                                                   
          type: "POST",
          success: function(json) {

            alert('success');

           calendar.refetchEvents();
              }
  });

  },

我的Update.php文件如下:

代码语言:javascript
复制
// get database connection
require_once 'api/config/connection.php';

// Check user information
$fusername = $_SESSION['fusername'];
$stmt = $conn->prepare("SELECT * FROM users WHERE fusername=:fusername;");
$stmt->bindParam(':fusername', $fusername);
$stmt->execute();
$user = $stmt->fetch(PDO::FETCH_OBJ);


if(isset($_POST["id"])){

$start_event = $_POST['start'];
$end_event = $_POST['end'];
$id = $_POST['id'];
$allDay = $_POST['allDay'];

// Check user information
$stmt = $conn->prepare("UPDATE events SET start_event=:start_event, end_event=:end_event, allDay=:allDay WHERE id=:id");
$stmt->bindParam(':start_event', $start_event);
$stmt->bindParam(':end_event', $end_event);
$stmt->bindParam(':id', $id);
$stmt->bindParam(':allDay', $allDay);
$stmt->execute();

}

控制台中的event.start显示为: start: Tue Jul 30 2019 08:00:00 GMT-0400 (东部夏令时间)

但当我应用".toISOString“时,它会被转换为"2019-07-30T12:00:00.000Z”,并以2019-07-30 12:00:00(提前4小时)的形式张贴到数据库中。

我还注意到,与单击日期单元格添加事件时相比,我使用console.log从事件对象startStr和endStr获得如下信息:

开始时间:2019年8月4日太阳05:30:00400(东部夏令时间)

完:星期日2019年8月4日06:00格林尼治时间-0400(东部夏令时间)

startStr:"2019-08-04T05:30:00-04:00“

endStr:“2019-08-04T06:00-04:00”

但是,当我使用toISOString时,我的日期时间是使用(Z)将"T12:00:00.000Z“转换为”T12:00:00.000Z“,而不是在结束时添加脱机时间。它们是如何转换成“T05:30-04:00”的?我的意思是,我只需要日期是XX:XX:XX,然后输入数据库。

任何帮助都很感激!谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-01 20:11:29

toISOString()使用UTC-0并相应地调整日期。

Objects/Date/toISOString

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57316269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档