将字符串转换为日期时间时的奇怪行为
将 String 转换为 DateTime 然后再次转换为 ToString() 时,我遇到了奇怪的行为。
Convert.ToDateTime("16-02-2012").ToString("MM/dd/yyyy")
结果为 02-16-2012 Convert.ToDateTime("16-02-2012").ToLongDateString()
结果为16。 februar 2012
如您所见,使用 ToLongDateString() 时转换是正确的,但使用 ToString() 时 / 不知何故转换为 - 。
当我将第一个结果插入 Excel 工作表时,该值实际上是 '02-16-2012 (注意开头的 ')
当我使用第一个段低于 12 的日期时,结果按预期包含 /,但恢复为 dd/MM/yyyy。
我在转换 ToDateTime() 时尝试使用 new System.Globalization.CultureInfo("da-DK", false)
但没有效果(我们的系统已经设置为 da-DK - 但我得到了绝望的)。
有人见过这种行为吗?
编辑
为了澄清我的帖子,丹麦语的日期格式是 dd-mm-yyyy (我想将其格式化为 mm/dd/yyyy) - 我知道第一段是月份英文日期。
Im experiencing strange behavior when converting String to DateTime and then again ToString().
Convert.ToDateTime("16-02-2012").ToString("MM/dd/yyyy")
results in 02-16-2012Convert.ToDateTime("16-02-2012").ToLongDateString()
results in 16. februar 2012
As you can see the conversion is correct when using ToLongDateString() but somehow the / is converted to - when using ToString().
When I insert the first result into a Excel sheet the value is actually '02-16-2012 (notice the ' in the beginning)
When I use a date where the first segment is lower than 12 the result contains / as expected but is reverted to dd/MM/yyyy.
I've tried using new System.Globalization.CultureInfo("da-DK", false)
when converting ToDateTime() but with no effect (Our system is already set to da-DK - but I got desperate).
Anyone seen this behavior before?
EDIT
To clarify my post a little, the date format in danish is dd-mm-yyyy (which I want to format to mm/dd/yyyy) - I know that the first segment is month in a english date.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
更改
为
这只是一个错字。
如果这不是您想要的,请尝试以下操作:
然后您可以在末尾添加您想要的任何
.ToString(...)
。编辑 2:您的计算机正在以您自己的文化输出日期。如果您希望正确解析并显示它,则需要为每个操作提供区域性信息。
Change
to
It's just a typo.
If that's not what you want, try this:
Then you can add whatever
.ToString(...)
you want on the end.Edit 2: Your computer is outputting the date in your own culture. If you want it parsed and displayed correctly, you need to provide culture info for each operation.
要以所需格式导出数据,您可以将数据插入为 DateTime 并使用如下例所示的单元格格式(假设您的日期位于 A 列中):
To export the data in the format you want, you can insert the data as DateTime and use a cell format like in the following example (assuming your dates are in column A):