簡體   English   中英

MM / dd / yyyy格式

[英]MM/dd/yyyy format

我有以下內容:

PMRCutoffDate.Value = ReportCalc.Cutoff_Date.ToString("MM/dd/yyyy");
PMRDate.Value = DateTime.Now.ToString("MM/dd/yyyy");

我希望日期顯示為:03/05/2010,而非2010年3月5日或2010年5月5日或2010年5月3日

但是,我的程序STILL錯誤地顯示日期(2010年3月10日)。

關於什么是錯的任何想法?

在VS 2008中,我有以下代碼和您正在尋找的輸出。 你能發布更多信息嗎? 碼:

Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy"));

輸出:

03/10/2010

根據這篇文章,您可以使用String.format或DateTime.toString填充日期,如下所示:

String.Format("{0:MM/dd/yyyy}", dt);

如果日期格式已更改,請檢入“控制面板”的“區域和語言選項”小程序。 通過使用DateTime.ToString()重載中的CultureInfo.InvariantCulture.DateTimeFormat屬性,您應該能夠將自己與這些覆蓋或不尋常的文化屬性隔離開來。

Textbox1.Text = DateTime.Today.ToString("MM/dd/yyyy",CultureInfo.InvariantCulture);

OUTPUT: 09/18/2015

上面的回復應該可以幫助你,但如果沒有,你仍然遇到問題,你可以為DateTime創建以下擴展方法,並強制它以你需要的格式,無論文化設置如何:

public static class StringExtension
{
    static public string ToStringFormatted(this DateTime dt)
    {
        return string.Format("{0:00}/{1:00}/{2:0000}", dt.Month, dt.Day, dt.Year);
    }

    // if the culture info change does fix your issue do:
    static public string ToStringFormatted2(this DateTime dt)
    {
        return dt.ToString("MM/dd/yyyy");
    }
}

// useage:
string date = DateTime.Now.ToStringFormatted();

// output:  03/10/2010

我更喜歡擴展方法來格式化日期之類的東西,因為有人總是想要在某些時候更改格式,我只需要更改擴展名,我的整個應用程序現在都反映了新的格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM