我在用户控件中有以下属性:
public DateTime? Value
{
get
{
return DatePickerInput.SelectedDate;
}
set
{
DatePickerInput.SelectedDate = value;
}
}
这将按以下格式01-Feb-2012
选择日期。我想更改格式,以便以dd/MM/yy
格式返回日期...这怎么可能?
答案 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。