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

         static void Main(string[] args)
{
string format = @"yyyy/MM/dd HH:mm:ss";
DateTimeFormatInfo dtfi = DateTimeFormatInfo.InvariantInfo; DateTime dateTime = new DateTime(, , , , , ); string dateTimeStr1 = dateTime.ToString(format);
string dateTimeStr2 = dateTime.ToString(format, dtfi); Console.WriteLine(Thread.CurrentThread.CurrentCulture.DisplayName);
Console.WriteLine(dateTimeStr1);
Console.WriteLine(dateTimeStr2); DateTime dateTimeResult;
Console.WriteLine(DateTime.TryParseExact(dateTimeStr1, format, null, DateTimeStyles.None, out dateTimeResult));
Console.WriteLine(DateTime.TryParseExact(dateTimeStr2, format, dtfi, DateTimeStyles.None, out dateTimeResult)); Console.ReadLine();
}

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);

最新文章

  1. C语言 · 求矩阵各个元素的和
  2. 终端更新ubuntu系统
  3. .NET HttpWebRequest/WebClient网络请求第一次很慢解决方案
  4. kubernetes 内网节点部署笔记(一)
  5. 使用 robotframework 自动化测试系列 一 -----简介
  6. Oracle 10046 trace文件分析
  7. 【IDE】SharpDevelop
  8. Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载五)Linux系统的对话方式
  9. jquery禁用右键单击、F5刷新
  10. Shell脚本实现文件遍历和删除操作
  11. 集智人工智能学习笔记Python#0
  12. linux集群自动化搭建(生成密钥对+分发公钥+远程批量执行脚本)
  13. echarts使用笔记二:柱子堆叠
  14. Windows激活
  15. Azure系列2.1.5 —— BlobOutputStream
  16. vmware 12 可用 序列号
  17. Educational Codeforces Round 53 (Rated for Div. 2) E. Segment Sum
  18. idea加载JSTL库
  19. mongod入门实战
  20. jQuery AJAX 跨域请求

热门文章

  1. python中的下划线(私有变量)
  2. 【Lua】LDoc生成Lua文档工具的使用
  3. Django进阶 (二)
  4. mysql数据库权限
  5. Redis快速入门之简介
  6. java--jvm启动的参数
  7. 20145335郝昊《网络攻防》Bof逆向基础——ShellCode注入与执行
  8. 20145204 《Java程序设计》第7周学习总结
  9. Android Studio安装与使用
  10. 使用ShellExecute打开目标文件所在文件夹并选中目标文件