QField提交时日期时间字段丢失时间值的问题求助
QField日期时间字段异常的修复方案
1. 捋正QGIS字段基础配置
- 字段类型必须选
Date/Time,别选单纯的Date,在图层属性的字段编辑面板里修改。 - 字段长度设为
19(刚好匹配yyyy-MM-ddTHH:mm:ss的字符数),精度设为0即可,避免长度不足导致时间存储截断。 - 默认值直接输入
now(),不要加引号,同时勾选「应用默认值」选项,确保自动填充生效。
2. 统一显示与存储格式
- 在QGIS图层属性的「字段」页,找到目标字段点击编辑,将「显示格式」设为
yyyy-MM-ddTHH:mm:ss,「存储格式」也同步为该格式(或保留默认ISO格式,QGIS可自动兼容)。 - 不要使用非标准存储格式,优先用ISO标准格式,避免QField解析时出现异常。
3. 解决时区偏移问题
- QGIS端:打开「设置」→「选项」→「常规」,将时区设置为本地时区(比如
Asia/Shanghai),不要用UTC时区,否则会出现时间偏移。 - QField端:平板上打开QField的「设置」→「通用」→「时区」,选择和QGIS完全一致的时区,消除时间超前6小时的问题。
4. QField端细节调整
- 进入QField的图层设置,确认目标字段为「日期时间」类型,且默认值已同步为
now()。 - 若提交后时间变为00:00:00,大概率是手动编辑输入框导致格式不匹配。直接在QGIS的字段属性里勾选「只读」,禁止手动编辑,完全依赖
now()自动填充即可解决。
5. 检查数据存储后端
- 使用GeoPackage时,确保字段类型是
Date/Time,不要误设为仅存日期的Date类型。 - 使用PostGIS等数据库时,字段类型选
TIMESTAMP WITH TIME ZONE,并与QGIS的时区设置保持一致。
内容的提问来源于stack exchange,提问作者devitti
相关产品推荐
相关产品推荐

