c# – 将dd / MM / yyyy转换为yyyy / MM / dd?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 将dd / MM / yyyy转换为yyyy / MM / dd?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1088字,纯文字阅读大概需要2分钟。
内容图文
![c# – 将dd / MM / yyyy转换为yyyy / MM / dd?](/upload/InfoBanner/zyjiaocheng/766/5068908a89bb4516941f55bc1474975c.jpg)
我想将字符串’30 / 12/2012’转换为’2012/12/30′.我的应用程序设置为“en-CA”,但数据库默认接受yyyy / MM / dd.
How can I do this without depending on the current culture info set
at server?
解决方法:
正如所有评论所说的那样,但到目前为止没有一个答案说过:不要把它作为字符串传递给数据库.
尽可能早地解析您收到的任何文本,然后使用DateTime在其他任何地方表示它,包括如何通过参数化SQL1将其发送到数据库.这适用于所有类型的值:尽快将其转换为数据的“自然”类型,并尽可能长时间保持在自然表示中.日期不是字符串,如果你确实需要,你应该只将其转换为字符串 – 理想情况是在将它显示给用户之前.
解析可以使用DateTime.ParseExact或DateTime.TryParseExact来完成,具体取决于这是“可疑”数据(例如来自用户)还是应该真正正确的数据,并且异常是对不可解析值的最恰当反应.我建议你使用自定义格式字符串传递CultureInfo.InvariantCulture.例如:
DateTime date = DateTime.ParseExact(text, "dd/MM/yyyy",
CultureInfo.InvariantCulture);
(如果你做了很多日期/时间工作,你可能还想考虑使用我的Noda Time project,它允许你以更丰富的方式表达价值 – 在这种情况下你可能会使用LocalDate.)
1如果您尚未使用参数化SQL,而是将值直接烘焙到SQL中,则问题比日期/时间转换更大.
内容总结
以上是互联网集市为您收集整理的c# – 将dd / MM / yyyy转换为yyyy / MM / dd?全部内容,希望文章能够帮你解决c# – 将dd / MM / yyyy转换为yyyy / MM / dd?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。