Laravel Eloquent中的时区转换

时间:2017-02-18 10:24:53

标签: php mysql laravel-5.3

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

os_log

->whereBetween('issue_date', [$fiscal_start, $fiscal_end]) $fiscal_start位于用户的本地时区,$fiscal_end(在表格中)以UTC格式存储。这三个都是时间戳。

issue_date示例:

$fiscal_start

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

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

我尝试了一些不成功的变体:

whereBetween

1 个答案:

答案 0 :(得分:1)

我想我错过了几个'

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