gpt4 book ai didi

angularjs - Angular http 方法更改日期时间中的小时

转载 作者:行者123 更新时间:2023-12-04 17:54:43 25 4
gpt4 key购买 nike

我遇到了有史以来最奇怪的错误。我正在通过 angularjs 与我的 API 交谈,我尝试通过执行以下操作来更新某些内容

  console.log('updated: ', event.startsAt);
$http({
method: 'PUT',
url: baseurl + "/event/" + event.id,
data: {title: event.title, startsAt: moment(event.startsAt).clone().toDate(), entriesAllowed: event.entriesAllowed},
headers: {'Content-type': 'application/json'},
handleError: true
})

所以问题出在 event.startsAt 变量上。在控制台日志中它给了我正确的时间:

Sat Dec 24 2016 16:15:00 GMT+0100 (CET)

但是一旦我发送它并使用我的 api 访问它,它就会给出相同的日期时间,但减去 1 小时,所以

Sat Dec 24 2016 15:15:00 GMT+0100 (CET)

知道这可能是什么吗?我将 laravel 用于我的 api,我正在使用

获取日期时间

$event->startsAt = Carbon::parse($request->get('startsAt'), 'Europe/Amsterdam');

我自己尝试过的东西

  • 使用 momentJS 将日期时间更改为不同的格式。
  • 在 Laravel 中添加/删除时区。

最佳答案

假设 event.startsAt 是一个 Date 对象,那么您应该首先将它序列化为 ISO8601 格式。

首先尝试 event.startsAt.toISOString()。这也将转换为 UTC,但您应该能够在服务器上轻松处理。

如果出于某种原因您需要保留原始时区偏移量,使用 moment(event.startsAt).format()

moment 可以帮助您解决这个问题

关于angularjs - Angular http 方法更改日期时间中的小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41274229/

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