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