📜  c# 显示属性日期 - C# (1)

📅  最后修改于: 2023-12-03 14:39:47.020000             🧑  作者: Mango

C# 显示属性日期

在 C# 中,我们可以使用 DateTime 类型来表示日期时间。但是,在需要显示日期时间的 UI 中,我们通常不需要显示完整的 DateTime 对象,而是需要格式化日期时间并以字符串形式显示。本文将介绍如何在 C# 中显示属性日期。

DateTime 类型

DateTime 类型在 C# 中表示日期和时间。它包括一个日期值和一种时间解释,它可以是 UTC 时间(协调通用时间)或本地时间。DateTime 实例可以通过以下方式创建:

var now = DateTime.Now;   // 创建一个当前本地时间的 DateTime 对象
var utcNow = DateTime.UtcNow;   // 创建一个当前 UTC 时间的 DateTime 对象
var custom = new DateTime(2022, 1, 1, 0, 0, 0);   // 创建一个自定义时间的 DateTime 对象
格式化日期时间

DateTime 对象默认情况下以长日期和短时间格式的字符串表示。如果需要自定义格式,可以使用 ToString() 方法并传递一个格式字符串。例如:

var now = DateTime.Now;
var format = "yyyy-MM-dd HH:mm:ss";   // 自定义格式字符串
var formatted = now.ToString(format);   // 格式化日期时间为字符串
Console.WriteLine(formatted);

以上代码将输出当前本地时间的年月日时分秒格式。在格式字符串中,"yyyy" 表示年份(四位),"MM" 表示月份(两位),"dd" 表示日期(两位),"HH" 表示小时(24 小时制,两位),"mm" 表示分钟(两位),"ss" 表示秒数(两位)。

有关更多日期时间格式化选项,请参阅 DateTime.ToString Method (System) | Microsoft Docs

在属性中显示日期

在 C# 中,属性可以返回任何类型的值,包括 DateTime 对象和字符串类型。在显示日期时,我们通常将 DateTime 转换为字符串并返回。例如:

public class MyClass
{
    public DateTime Created { get; set; }   // 属性使用 DateTime 类型表示

    public string CreatedString
    {
        get
        {
            var format = "yyyy-MM-dd HH:mm:ss";   // 自定义格式字符串
            return this.Created.ToString(format);   // 将 DateTime 转换为字符串并返回
        }
    }
}

以上代码定义了一个 MyClass 类,该类具有 Created 和 CreatedString 两个属性。Created 属性使用 DateTime 类型表示创建日期,CreatedString 属性则返回格式化的日期时间字符串。

使用:

var obj = new MyClass();
obj.Created = DateTime.Now;
Console.WriteLine(obj.CreatedString);

以上代码将输出当前本地时间的年月日时分秒格式的字符串。

结论

在 C# 中显示属性日期,可以使用 DateTime 类型表示日期,然后使用 ToString() 方法将其格式化为字符串。在属性中,将 DateTime 对象转换为字符串并返回即可。