设置日期时间格式 - C#

时间:2012-02-13 13:07:48

标签: c# .net datetime date

我在用户控件中有以下属性:

    public DateTime? Value 
        { 
        get 
        {
            return DatePickerInput.SelectedDate; 
        } 
        set 
        { 
            DatePickerInput.SelectedDate = value; 
        } 
    }

这将按以下格式01-Feb-2012选择日期。我想更改格式,以便以dd/MM/yy格式返回日期...这怎么可能?

6 个答案:

答案 0 :(得分:3)

它使用计算机上的当前区域性设置。如果您需要该格式,则需要将其作为字符串返回,或者让接收方法将其转换为字符串。例如:

string myFormat = Value.ToString("dd/MM/yyyy");

我没有考虑到你的Value属性也可以返回null值。这只是为了向您展示如何格式化结果。

答案 1 :(得分:1)

DateTime?(即Nullable<DateTime>)没有隐式格式。您需要在您正在使用的任何UI中格式化值,或者更改您的属性(或添加新属性)以返回String值:

public String FormattedValue {
    get {
        return DatePickerInput.SelectedDate.HasValue
            ? DatePickerInput.SelectedDate.Value.ToString("dd/MM/yy")
            : ""; // return an empty string if SelectedDate is null
    }
}

答案 2 :(得分:1)

DateTime属性本身不带有特定的格式 - 它是日期时间的中性表示。这是您应该设置的输入控件的格式。 DateTimeInput控件可能具有“FormatString”属性,但这取决于控件。你在使用WPF吗? ASP.NET?的WinForms?

答案 3 :(得分:1)

描述

DateTime没有format,但您可以使用CustomFormat属性更改显示格式。

默认情况下,显示格式取决于Thread.CurrentThread.CurrentCulture

示例

myDateTimePicker.Format = DateTimePickerFormat.Custom;
myDateTimePicker.CustomFormat = "dd/MM/yy";

更多信息

答案 4 :(得分:0)

您要返回的数据类型 - DateTime - 本身不具有格式。我建议将它留给你的调用者来决定格式,或者实现一个额外的属性,它返回一个字符串并根据你的意愿格式化。

答案 5 :(得分:0)

查看此Microsoft文档:Standard Data and Time Format

相关问题