簡體   English   中英

如何在C#中將日期格式用作常量?

[英]How to use date format as constant in C#?

我在代碼中使用“yyyy-MM-dd”幾次進行日期格式化

例如 :

var targetdate = Date.ToString("yyyy-MM-dd");

是否可以將格式聲明為常量,以便可以避免一次又一次地使用代碼

使用擴展方法而不是一次又一次地聲明任何格式,如下所示:

public static class DateExtension
{
    public static string ToStandardString(this DateTime value)
    {
        return value.ToString(
            "yyyy-MM-dd", 
            System.Globalization.CultureInfo.InvariantCulture);
    }
}

所以你以這種方式使用它

var targetdate = Date.ToStandardString();

用它作為

const string dateFormat = "yyyy-MM-dd";

//Use 
var targetdate = Date.ToString(dateFormat);

要么

//for public scope
public static readonly string DateFormat = "yyyy-MM-dd";

//Use
var targetdate = Date.ToString(DateFormat);
//from outside the class, you have to use in this way
var targetdate = Date.ToString(ClassName.DateFormat);

您可以做的另一個選項是使用.ToString(...)上的DateTimeFormatInfo重載而不是string重載。

public static readonly System.Globalization.DateTimeFormatInfo MyDateTimeFormatInfo
    = new System.Globalization.DateTimeFormatInfo()
{
    ShortDatePattern = "yyyy-MM-dd",
    LongTimePattern = "",
};

現在你可以做var targetdate = DateTime.Now.ToString(MyDateTimeFormatInfo); 這與使用字符串非常相似,但您可以更多地控制許多其他格式設置屬性。

暫無
暫無

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

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