You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#使用DateTime.TryParseExact转换日期后转字符串格式不符问题

问题原因
  • 核心问题出在createDate方法的最后一行代码:date = purchaseDate.Date.ToString();
  • DateTime类型的无参ToString()方法会默认使用当前操作系统的区域设置格式输出,绝大多数区域的默认格式都会包含时分秒部分,即使你调用了.Date属性将时间部分置为00:00:00,转换为字符串时仍会输出时间片段,导致不符合仅输出日期的需求。
解决方法

你只需要在调用ToString时指定你需要的日期格式即可,同时可以传入固定的区域信息避免不同系统环境下格式出现差异:

// 如果你需要和输入规则一致的MM-dd-yy格式,修改为以下代码
date = purchaseDate.ToString("MM-dd-yy", CultureInfo.InvariantCulture);

// 如果你需要日/月/年格式,替换为对应的格式串即可
// date = purchaseDate.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);

额外优化建议

你当前的Asset类中同时维护了string类型的date字段和DateTime类型的purchaseDate字段,容易出现两个值不同步的问题,建议可以仅保留DateTime类型的purchaseDate,需要输出字符串时再按需格式化即可,减少冗余字段。

内容的提问来源于stack exchange,提问作者jens.svensson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:45:02