gpt4 book ai didi

c# - 在 C# 中表示时间(不是日期和时间)

转载 作者:太空狗 更新时间:2023-10-30 00:17:08 26 4
gpt4 key购买 nike

我正在开发一个需要开放时间概念的应用(有点像商店)

如何最好地表示这些?稍后它们将保存在数据库中...

到目前为止,我有以下类(class):

public class OpeningTime
{
public DayOfWeek DayOfWeek { get; set; }
public DateTime OpeningTime { get; set; }
public DateTime ClosingTime { get; set; }
}

所以我虚构的“商店”类应该是这样的:

public class Shop
{
public string Name { get; set; }
public string Address { get; set; }
public List<OpeningTime> OpeningTimes { get; set; }
}

DateTime 是否仍然正确表示类似的内容:

Monday - 9:00 - 17:30

最佳答案

坚持使用 DateTime

我只会使用 DateTime,因为它可以很好地映射到 SQL(SQL 也使用 DateTime),而且我发现它比使用 TimeSpan 更具可读性。例如,您还可以使用同一对象并向其添加日期以获得今天的营业时间。

为什么不是 TimeSpan?

因为它的名字及其含义。 TimeSpan 表示一段时间而不是时间点。虽然它在框架中用于表示准确时间(在 TimeOfDay 中),但该属性定义为 in the docs作为:

A TimeSpan that represents the fraction of the day elapsed since midnight.

但是...其实并不重要

最后没什么区别,您可以使用 TimeSpan、DateTime 或您自己的结构。两者的开销都很少,它只是归结为您发现更具可读性和更易于维护的部分。

关于c# - 在 C# 中表示时间(不是日期和时间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3567586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com