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

使用DateTime.ToString()时如何避免"/"显示为制表符?

解决DateTime格式化时"/"显示为制表符的问题

问题原因

.NET日期格式化字符串中的/是日期分隔符占位符,它会自动替换为当前线程文化设置的日期分隔符。如果你的程序运行环境的文化设置中,日期分隔符被配置为制表符(\t),就会出现输出中/被替换成制表符的情况。

两种解决方法

  • 方法1:将"/"转义为字面量
    在格式字符串中用单引号包裹/,强制将其作为普通字符输出,不受文化设置影响:

    Console.WriteLine(showDate.ToString("dd'/'MM'/'yyyy | HH:mm"));
    
  • 方法2:指定不变文化(InvariantCulture)格式化
    使用CultureInfo.InvariantCulture确保日期分隔符始终为/,这种方式适合需要跨区域统一格式的场景:

    using System.Globalization; // 需添加该命名空间引用
    
    // ... 原有代码不变
    
    Console.WriteLine(showDate.ToString("dd/MM/yyyy | HH:mm", CultureInfo.InvariantCulture));
    

修改后代码示例(方法1)

changeDate_temp = calendarPostPone.SelectedDate.Value.ToString("dd/MM/yyyy").Split(' ');

showDate = new DateTime(Convert.ToInt32(changeDate_temp[2].Trim()), 
    Convert.ToInt32(changeDate_temp[1].Trim()), 
    Convert.ToInt32(changeDate_temp[0].Trim()),
    12, 0, 0);

Console.WriteLine(showDate.ToString("dd'/'MM'/'yyyy | HH:mm"));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:32:53