前导零日期格式C#

前导零日期格式C#,c#,datetime,C#,Datetime,我有这个功能 private string dateConvert(string datDate) { System.Globalization.CultureInfo cultEnGb = new System.Globalization.CultureInfo("en-GB"); System.Globalization.CultureInfo cultEnUs = new System.Globalization.CultureInfo("en-US");

我有这个功能

private string dateConvert(string datDate)
{
        System.Globalization.CultureInfo cultEnGb = new System.Globalization.CultureInfo("en-GB");
        System.Globalization.CultureInfo cultEnUs = new System.Globalization.CultureInfo("en-US");

        DateTime dtGb = Convert.ToDateTime(datDate, cultEnGb.DateTimeFormat);
        datDate = dtGb.ToString(cultEnUs.DateTimeFormat.ShortDatePattern);

        return datDate;
}
但是我希望它的前导零仍然在较低的数字(1-9)上,所以日期是11-09-2009(mm dd yyyy)

现在,如果我没有转换它的id,请使用string.Format(“{0:d}”,dateVar),我如何在转换中这样做

*****解决方案******

使用了下面答案的稍加修改的版本(即将呈现的版本)


转换完成后,不能使用
字符串.Format


ie
returnstring.Format(“{0:d}”,datDate)

出于可用性和可读性的考虑,我建议使用最新的C#速记(格式说明符):

return dateTimeValue:MM-dd-yyyy;

简洁明了。

要问一个愚蠢的问题,你有没有理由不解析它,然后将它作为日期值保留,直到你需要将它呈现给用户?它是为了生成一个deeplink,满足我们使用的第三方应用程序的要求。这是一个更大的脚本的一部分,使合作伙伴更容易链接。英国公司,印度开发商,美国日期格式。如图所示。同意-从EN-US的ShortDatePattern是“M/d/yyyy”,它将修剪前导零并使用“/”作为分隔符,而不是“-”。@Zhaph:日期被重新解析并传递到URL中,因此-分隔是必要的。这对我的目的不起作用(整体而言),但将其修改为。。。转换.ToDateTime(datDate).ToString(“MM-dd-yyyy”);工作很愉快。感谢我的猜测,但进入2009年3月20日产生了2009年3月20日是的,不知道我在想什么,Mehrdad的答案应该是有效的你为什么保留这个答案?
return dateTimeValue.ToString("MM-dd-yyyy");
return dateTimeValue:MM-dd-yyyy;