DevExpress表达式语言日期时间常量格式及运行时条件格式咨询
DevExpress WinForms 网格条件格式:日期时间字面量格式指南
我之前在做DevExpress WinForms网格条件格式的时候,也跟你一样找不到明确的官方文档说明,全靠自己测试和社区踩坑经验总结出来的,给你梳理一下:
- 必须用#包裹:这个是官方示例里明确的,所有日期时间常量都得放在
#和#之间,比如[OrderDate] >= #1/1/2009# - 默认优先格式:MM/DD/YYYY:不管你的系统区域设置是什么,表达式引擎默认都会把
#MM/DD/YYYY#这种格式解析正确,比如#12/31/2023#会被识别为2023年12月31日,不会因为系统是日/月/年格式就搞混 - 兼容ISO格式:YYYY-MM-DD:如果你怕搞混月和日,用ISO标准的
#YYYY-MM-DD#格式也完全没问题,引擎能正确解析,比如#2023-12-31# - 带时间的格式:如果需要指定时间,直接在日期后面加空格和时间即可,支持
MM/DD/YYYY HH:MM:SS或者YYYY-MM-DD HH:MM:SS,比如#12/31/2023 23:59:59#或者#2023-12-31 10:30:00# - 避坑提醒:千万别用依赖系统区域的格式(比如DD/MM/YYYY),比如
#01/02/2023#会被引擎当成1月2日,而不是2月1日,哪怕你的系统区域是日/月/年也没用,表达式引擎是独立解析的
另外如果是在代码里动态生成表达式,建议用DateTime.ToString("MM/dd/yyyy")或者DateTime.ToString("yyyy-MM-dd")来拼接字符串,避免手动写日期出错。
内容的提问来源于stack exchange,提问作者millimoose
相关产品推荐
相关产品推荐

