C# DateTime.ToString的坑

当需要将时间类型转换为字符串类型时,一般直接使用datetime.ToString()方法即可

1、直接使用ToString(),不带任何参数,代码如下

static void Main(string[] args)
{
    //2016-12-15 12:12:12
    var dt = new DateTime(2016, 12, 15, 12, 12, 12);

    Console.WriteLine(dt.ToString());

    Console.ReadKey();
}

不建议使用这种方式,因为输出的字符串格式将会匹配运行电脑的时间格式,会导致在不同的环境下,输出结果的不一致。

2、在ToString中指定输出的字符串格式,示例如下

 这就是我所讲的坑所在了,指定了字符串格式,但是却没有输出相应的结果,仍然按照当前环境的时间格式进行输出。

3、在ToString中指定输出的字符串格式,并指定DateTimeFormatInfo参数,示例如下

这样才能真正输出与环境无关的特定格式的时间字符串。

原文地址:https://www.cnblogs.com/JustYong/p/6077670.html