【问题标题】:Moment JS to Carbon conversionMoment JS 到 Carbon 的转换
【发布时间】:2017-08-06 10:54:59
【问题描述】:

如何从 MomentJS 到 Carbon 实例(GMT 时区)获得相同的时间戳?

$(document).on('click', '#confirm-reservation .dropdown-menu a', function () {
    $('#insert_text').text($(this).text());
    var href = $(e.relatedTarget).data('href');
    var time = moment().year(startTime.format("Y")).month(startTime.format("M")).date(startTime.format("D"))
            .hour($(this).text().split(':')[0]).minutes($(this).text().split(':')[1]).seconds("0");

    console.log(time);

    $('.btn-ok').attr('href', href + '/' + time.unix());
});

我在显示 GMT+2 的控制台中获得了正确的选择值。

如果我分配的值少了 2 小时,它仍然会被解析错误。

这是 Laravel 控制器:

public function reserveTo($time, $timeTo)
{
    Reservation::create([
        'reserved_from' => Carbon::createFromTimestamp($time),
        'reserved_to' => Carbon::createFromTimestamp($timeTo),
    ]);

    return redirect()->back();
}

【问题讨论】:

  • 我可以看到单个参数传递,如何将两个参数传递给reserveTo方法?
  • 第一个参数总是在路由(href)中通过,如果选择了其他时间,则将其添加到现有路由中。所以我通过了/time/timeTo

标签: jquery laravel timestamp momentjs php-carbon


【解决方案1】:

你检查过服务器时间吗?

Carbon 将获得服务器时间,而 Moment 将获得客户端时间

通常我们应该只信任单个时间点(来自服务器或客户端) 如果您需要 2 个时间点,只需将时区(UTC +2 blabla..)附加到您的时间戳

【讨论】:

  • 这个问题有答案吗?
猜你喜欢
  • 1970-01-01
  • 2021-12-14
  • 2020-05-27
  • 2021-01-15
  • 1970-01-01
  • 2018-10-31
  • 1970-01-01
  • 2017-05-18
  • 1970-01-01
相关资源
最近更新 更多