.net 为什么DateTime.ToString(“dd/MM/yyyy”)会给予dd-MM-yyyy?

zazmityj  于 2022-12-30  发布在  .NET
关注(0)|答案(6)|浏览(116)

我希望将日期时间转换为格式为“dd/MM/yyyy”的字符串
每当我使用DateTime.ToString("dd/MM/yyyy")转换它时,我得到的是dd-MM-yyyy
是否有某种必须设置的区域性信息?

b4qexyjb

b4qexyjb1#

斜杠是日期分隔符,因此将使用当前区域性日期分隔符。
如果你想硬编码它总是使用斜线,你可以这样做:

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

du7egjpx2#

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

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

将返回:28| 02| 2014

tyu7yeag

tyu7yeag3#

添加CultureInfo.InvariantCulture作为参数:

using System.Globalization;

...

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

将返回:

"16/08/2016"
ndasle7k

ndasle7k4#

如果你使用MVC,tables,它的工作原理如下:

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

olhwl3o25#

试试这个。

@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>
            }
ftf50wuq

ftf50wuq6#

也许是愚蠢的问题/答案,但是你试过dd/MM/yyyy吗?注意大写。
mm表示分钟,前面有一个零。所以我怀疑这是你想要的。
这可能会有所帮助:http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm

相关问题