从C#中移除月份前导零

7

我有一个问题,需要移除日期中的前导零。我在微软的网站上找到了以下内容。

DateTime date1 = new DateTime(2008, 8, 18);
Console.WriteLine(date1.ToString("(M) MMM, MMMM", 
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays (8) Aug, August

这里完全不起作用。

这是我的代码:

string date = '2013-04-01'
DateTime billrunDate = Convert.ToDateTime(date);
string test = billrunDate.ToString("M");

现在是测试时间为04月01日

我只需要它以字符串或整数的形式为4

如果我这样修改:

billrunDate.ToString("(M)");

我得到了 (4),但我不需要 () 编辑2: 好的,这个有效。
string test = billrunDate.ToString(" M ");
string testTwo = test.Trim();

非常非常丑陋


如果你只对月份值感兴趣,你也可以简单地调用 billrunDate.Month.ToString() - Nolonar
我从另一个页面以字符串形式获取日期,不能更改任何内容。这就是为什么我将字符串转换为日期的原因。 - Freddy
3个回答

22

很酷,我不知道那个。我本来想建议使用DateTime.ToShortDateString,但我猜OP只想要月份。 - tnw

4
我的最常用的MSDN页面之一是自定义日期和时间格式字符串页面。您可以将其作为传递给ToString()方法的格式化的一部分使用。如果其中任何一个是标准格式化模式(如“M”),并且您想要同时使用它们,则必须在格式字符串中加上'%',或在它们前后加上空格(因此请使用“%M”,“ M”或“M ”而不是“M”)。
相关部分:
“M”
月份,从1到12。
“MM”
月份,从01到12。
“MMM”
月份的缩写名称。
“MMMM”
月份的完整名称。

3
你不需要将日期转换为字符串以检索月份数字。
只需读取DateTime类的Month属性:Month
string date = "2013-04-01";
DateTime billrunDate = Convert.ToDateTime(date);
string test = billrunDate.Month.ToString();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接