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

如何将DateTime.Now转为DateOnly并输出dd/mm/yyyy格式日期?

如何将DateOnly转为dd/mm/yyyy格式的日期字符串?

DateOnly本身并不存储显示格式,它只是用来表示日期值的结构体。你看到的mm/dd/yyyy格式,是它默认ToString()方法根据当前线程的文化设置输出的结果。要得到严格的dd/mm/yyyy格式,需要显式指定格式字符串调用*ToString("dd/MM/yyyy")*方法,注意这里的MM是大写(代表月份,小写mm是分钟,别搞混)。

修改后的代码示例

public class Example
{
  public DateOnly? Date { get; set; }
}

public class Process1
{
  public void GetFormattedCurrentDate()
  {
    Example example = new Example();
    example.Date = DateOnly.FromDateTime(DateTime.Now);
    
    // 生成dd/MM/yyyy格式的字符串
    string formattedDate = example.Date.Value.ToString("dd/MM/yyyy");
    
    // 若需避免系统文化替换分隔符(部分地区会把/换成-),指定不变文化
    string stableFormattedDate = example.Date.Value.ToString(
        "dd/MM/yyyy", 
        System.Globalization.CultureInfo.InvariantCulture
    );
  }
}

额外注意事项

  • 因为你的Date是可空的DateOnly?类型,调用Value前建议先检查是否有值,避免空引用异常:
    string formattedDate = example.Date.HasValue 
        ? example.Date.Value.ToString("dd/MM/yyyy") 
        : string.Empty;
    
    也可以用空传播操作符简化:
    string formattedDate = example.Date?.ToString("dd/MM/yyyy") ?? string.Empty;
    
  • 格式字符串里的dd代表两位数字的日,yyyy代表四位数字的年,确保拼写正确。

内容的提问来源于stack exchange,提问作者Jositox

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 12:45:49