【问题标题】:Time Zone Conversion in Laravel EloquentLaravel Eloquent 中的时区转换
【发布时间】:2017-02-18 10:24:53
【问题描述】:

我在一个雄辩的查询中有以下行:

->whereBetween('issue_date', [$fiscal_start, $fiscal_end])

$fiscal_start$fiscal_end 在用户的本地时区中,issue_date(在表中)以 UTC 存储。这三个都是时间戳。

$fiscal_start 示例:

Carbon {#639 ▼
  +"date": "2016-07-01 00:00:00.000000"
  +"timezone_type": 3
  +"timezone": "Australia/Sydney"
}

$orgTz 包含"Australia/Sydney"

在比较之前将whereBetween语句中的issue_date转换为本地时区的正确语法是什么?

我尝试了一些变体,但均未成功:

->whereRaw("CONVERT_TZ(issue_date, 'UTC', {$orgTz}) BETWEEN {$fiscal_start} AND {$fiscal_end}")

【问题讨论】:

    标签: php mysql laravel-5.3


    【解决方案1】:

    我想我错过了几个'

    ->whereRaw("CONVERT_TZ(issue_date, 'UTC', '{$orgTz}') BETWEEN '{$fiscal_start}' AND '{$fiscal_end}'")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-11
      • 2020-10-03
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      • 2022-01-02
      相关资源
      最近更新 更多