繁体   English   中英

为什么 DateTime.ToString("dd/MM/yyyy") 给我 dd-MM-yyyy?

[英]why does DateTime.ToString("dd/MM/yyyy") give me dd-MM-yyyy?

我希望将我的日期时间转换为格式为“dd/MM/yyyy”的字符串

每当我使用DateTime.ToString("dd/MM/yyyy")转换它时,我都会得到dd-MM-yyyy

我必须设置某种文化信息吗?

斜杠是日期分隔符,因此将使用当前区域性日期分隔符。

如果您想对其进行硬编码以始终使用斜杠,您可以执行以下操作:

DateTime.ToString("dd'/'MM'/'yyyy")

CultureInfo.InvariantCulture作为 DateTime 的第二个参数传递,它将返回您想要的字符串,甚至是非常特殊的格式:

DateTime.Now.ToString("dd|MM|yyyy", CultureInfo.InvariantCulture)

将返回:28|02|2014

添加CultureInfo.InvariantCulture作为参数:

using System.Globalization;

...

var dateTime = new DateTime(2016,8,16);
dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);

将返回:

"16/08/2016"

如果你使用 MVC,表,它的工作原理是这样的:

<td>@(((DateTime)detalle.fec).ToString("dd'/'MM'/'yyyy"))</td>

试试这个。

 @foreach (DataRow _Row in CashBook2.Rows)
            {
                <tr>
                    <td>@DateTime.Parse(_Row["Vou_Date"].ToString()).ToString(DateFormat)</td>
                    <td>@_Row["Vou_No"].ToString()</td>
                    <td>@_Row["Description"].ToString()</td>
                    <td>@decimal.Parse(_Row["DR"].ToString()).ToString(NumFormat)</td>
                    <td>@decimal.Parse(_Row["CR"].ToString()).ToString(NumFormat)</td>
                    <td>@Balance</td>
                </tr>
            }

也许是愚蠢的问题/答案,但是您尝试过dd/MM/yyyy吗? 注意大小写。

mm是分钟,前导零。 所以我怀疑这就是你想要的。

这可能会有所帮助: http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM