npgsql/dapper/postgresql的时区问题

最大的问题:

dapper通过npgsql 用now()函数 写入到Create_date字段(timestamp without timeznone),则写入的是utc时间(0时区时间,比东8区少8小时)

倘若将create_date的字段改为带时区 TIMESTAMP WITH TIME ZONE

USING create_date AT TIME ZONE 'Asia/Singapore';

则dapper用now()能正常写入东8区时间

但是,鬼扯的问题又来了,dapper查出来的 记录,如果用query返回dynamic类型,create_date返回的datetime的kind是utc,

如果用ExecuteReader返回reader然后新建一个datatable,将此reader载入,则狗血的bug来了,转出来的DataRow,这个create_date的kind是unspecified!

就因为这个问题,即使将create_date字段属性改为带时区,反应到前端,也是0时区的时间,少了8小时!!

相关推荐
码明2 小时前
42.MySQL视图
数据库·oracle
山茶花开时。2 小时前
[Oracle] TO_NUMBER()函数
数据库·oracle
耳东哇3 小时前
阿里云百炼平台创建智能体-上传文档
数据库·redis·阿里云
ykuaile_h85 小时前
MySQL梳理三:查询与优化
数据库·mysql
掘根5 小时前
【Redis】string字符串
数据结构·数据库·redis
春天的菠菜7 小时前
【mysql】设置mysql数据库只读权限用户
数据库·oracle
找不到、了7 小时前
Mysql使用Canal服务同步数据->ElasticSearch
数据库·mysql·elasticsearch
宋大水8 小时前
【大作业-12】草莓成熟度检测模型,YOLO+PyQt+MySQL
数据库·深度学习·mysql·yolo·目标检测·pyqt·课程设计
赵_|大人9 小时前
Qt 自动无法加载数据库为空
开发语言·数据库·qt
2501_920047039 小时前
Mysql-事务
数据库·mysql·oracle