zoukankan      html  css  js  c++  java
  • DateTime和字符串转换问题

    DateTime和string之间的相互转换经常碰到,可就这么简单的一个转换其中也有些需要注意的地方.

     1         static void Main(string[] args)
     2         {
     3             string format = @"yyyy/MM/dd HH:mm:ss";
     4             DateTimeFormatInfo dtfi = DateTimeFormatInfo.InvariantInfo;
     5 
     6             DateTime dateTime = new DateTime(2014, 11, 2, 17, 30, 00);
     7 
     8             string dateTimeStr1 = dateTime.ToString(format);
     9             string dateTimeStr2 = dateTime.ToString(format, dtfi);
    10 
    11             Console.WriteLine(Thread.CurrentThread.CurrentCulture.DisplayName);
    12             Console.WriteLine(dateTimeStr1);
    13             Console.WriteLine(dateTimeStr2);
    14 
    15             DateTime dateTimeResult;
    16             Console.WriteLine(DateTime.TryParseExact(dateTimeStr1, format, null, DateTimeStyles.None, out dateTimeResult));
    17             Console.WriteLine(DateTime.TryParseExact(dateTimeStr2, format, dtfi, DateTimeStyles.None, out dateTimeResult));
    18 
    19             Console.ReadLine();
    20         }
    View Code

    dateTime.ToString(format)如果不传第二个参数,那么将会使用当前线程的区域设置,使格式化的结果依赖于本机的区域设置.

    DateTime.TryParseExact(dateTimeStr1, format, null, DateTimeStyles.None, out dateTimeResult),第三个参数如果为null,也会使用当前线程的区域设置.

    由于不能保证所有机器的区域设置都一样,上面两句代码可能会得不到预期的结果.

    可以使用特定的区域设置来解决这个问题,或者直接将转换设置为和区域设置无关,完全由代码控制.

    DateTimeFormatInfo dtfi = DateTimeFormatInfo.InvariantInfo;

    string dateTimeStr2 = dateTime.ToString(format, dtfi);

    DateTime.TryParseExact(dateTimeStr2, format, dtfi, DateTimeStyles.None, out dateTimeResult);

  • 相关阅读:
    渐统江湖的项目原型生成工具 Maven Archetype
    ANT的安装/配置笔记
    Maven服务器安装
    为什么Eclipse替代不了Maven
    Maven入门实战笔记11节[711]
    Maven入门实战笔记11节[15]
    Maven多模块项目中应用maventomcatplugin热部署
    使用 CXF、Spring、Maven 创建一个 SOAP 客户端
    maven2创建的archetypeArtifactId类型大全
    JdbcDaoSupport应用
  • 原文地址:https://www.cnblogs.com/xiaobaihome/p/4069636.html
Copyright © 2011-2022 走看看