[C#]使用日期转换函式时,为什么强制显示出民国年?

今天在使用日期转换函式时,发现年分会显示成民国年,而不是预想的西元年:
http://img2.58codes.com/2024/20149099hIT3J7cnlB.jpg

原本以为是特定状况触发的bug,为此检查好久的程式,却没有发现异常的地方,
查了资料后才发现,作业系统的日期设定格式是会影响到日期呈现的,
这个格式设定的优先度会大于日期转换函式指定的格式:
http://img2.58codes.com/2024/20149099FdTaY2LJGN.jpg

第一种处理的方式就是将日期格式设定还原回预设值,
若系统环境不允许变更日期格式,或是使用预设日期格式仍无效(我遇到这个情况),
可以使用System.Globalization.DateTimeFormatInfo,
就能够产出不受作业系统设定影响的通用日期格式

DateTime.Now.ToString("yyyy/MM/dd", System.Globalization.DateTimeFormatInfo.InvariantInfo)

使用之后,果然就正常显示出西元年了~
http://img2.58codes.com/2024/20149099UKMCxxqjJv.jpg


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章