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

Pri*_*iya 7 c# datetime date tostring

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

例如 :

var targetdate = Date.ToString("yyyy-MM-dd");
Run Code Online (Sandbox Code Playgroud)

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

Eri*_*ric 8

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

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

所以你以这种方式使用它

var targetdate = Date.ToStandardString();
Run Code Online (Sandbox Code Playgroud)

  • 我建议在这里使用不变的文化 - 我*非常怀疑OP希望受文化的影响. (4认同)
  • 您应该提到该方法必须在静态类中是静态的. (2认同)

NAS*_*SER 6

用它作为

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

//Use 
var targetdate = Date.ToString(dateFormat);
Run Code Online (Sandbox Code Playgroud)

要么

//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);
Run Code Online (Sandbox Code Playgroud)