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

时间:2015-08-05 05:38:04

标签: c# date datetime tostring

我正在使用" yyyy-MM-dd"几次在日期格式代码中

例如:

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

是否可以将格式声明为常量,以便可以避免一次又一次地使用代码

3 个答案:

答案 0 :(得分:8)

使用扩展方法,不要再次声明任何格式,如下所示:

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();

答案 1 :(得分:6)

将其用作

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

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

OR

//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);

答案 2 :(得分:2)

您可以执行的另一个选项是使用DateTimeFormatInfo上的.ToString(...)重载,而不是string重载。

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

现在你可以做var targetdate = DateTime.Now.ToString(MyDateTimeFormatInfo);这与使用字符串非常相似,但你可以更多地控制许多其他格式化属性。