编辑:一些用户注意到这是 ADO.NET 问题的重复, 我如何从 SQL Server 获取 DateTime 数据忽略时区问题?
请务必阅读我的标签和我的代码。这是nodejs 问题,与 ADO 库无关。它甚至不能在 Windows 上运行。提供的链接中提到的选项甚至在 mssql-npm 中都不存在
我正在为公司出勤创建一个数据库,该数据库跨越 3 个时区。
SQL Server 的问题是我读取的工作时间与每个时区不同。它注册1969-12-31T23:00:00.000Z
为 ,并且在一个时间线中注册为 06:00,在另一个时间线中注册为 08:00。无论时区如何,我都需要它恰好在 08:00。这意味着,我国西部地区为 08:00,我国东部地区为 08:00。
当我尝试禁用 UseUTC 时,nodejs 将我的时区翻译了两次。例如,这是我将masuk
字段发送为 08:00
发送到服务器:
发送到 SQL Server 的查询:
UPDATE shift SET name = 'Shift 1', masuk = '2019-10-28T01:00:00.000Z', keluar = '2019-10-28T10:00:00.000Z', tolerance = 15 WHERE id = 1
收到结果回来
并向用户显示为:
我的国家位于 GMT+7 至 GMT+9。我不介意我是否必须展平时区。但是怎么做呢?有没有办法完全忽略时区来读取时间?它使我的工作变得不必要地复杂。
我在用:
- SQL Server 2012
- 材质界面
- 日期-fns
- 节点 12
- mssql 模块
这是我从用户输入中获取时间的代码
<MuiPickersUtilsProvider utils={DateFnsUtils}>
<KeyboardTimePicker
key={component.field.toString()}
variant="inline"
value={value}
label={component.title}
onChange={this.eventHandler(component.field).bind(this)}
format="HH:mm"
/>
</MuiPickersUtilsProvider>
谢谢你的帮助。
数据库用于time(7)
存储时间