- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的一些域对象包含日期范围作为一对开始和结束日期属性:
public class Period {
public DateTime EffectiveDate { get; set; }
public DateTime ThroughDate { get; set; }
}
public class Timeline {
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
我发现自己有很多这样的事情:
abstract public int Foo(DateTime startDate, DateTime endDate);
abstract public decimal Bar(DateTime startDate, DateTime endDate);
abstract public ICollection<C5.Rec<DateTime, DateTime>> FooBar(DateTime startDate, DateTime endDate);
最后一个让我想知道......我应该实现 DateRange 类吗?我不知道 BCL 中有这样一个。
根据我的经验,使对象层次结构更深通常会使事情变得复杂。这些对象确实会发送到由 ReportViewer 控件显示的 RDLC 报告,但这是次要的。我会将 View 弯曲到模型,而不是相反。不过,我们不受属性名称的约束,并且愿意做出妥协,例如:
public class DateRange {
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
Period p = new Period();
DateTime t = p.EffectiveDateRange.StartDate;
DateRange 类的一个好处是集中验证开始日期之后的结束日期,并且它将简化我的方法签名:
abstract public int Foo(DateRange dateRange);
abstract public decimal Bar(DateRange dateRange);
abstract public ICollection<DateRange> FooBar(DateRange dateRange);
我只是不确定 DateRange 类不会给我带来比它的值(value)更多的麻烦。意见?
附带问题:我是否错过了 BCL 中某处的通用通用元组类?我知道在不同的命名空间中存在着一些非常具体的东西。用 C5 类型污染我的公共(public)域方法签名感觉非常非常肮脏。
最佳答案
不,您没有错过通用类(class)。
我有一个 Range
类型 MiscUtil您可能对此感兴趣 - 它确实可以进行简单的 DateTime
操作。引用马克的回答,我不记得这是一个结构还是一个类 - 当然欢迎您更改它。
由于 Marc 的泛型恶作剧,单步执行起来很好而且很容易(至少假设您使用的是 .NET 3.5 - 在 2.0 中是可行的,但目前不支持);
Range<DateTime> range = 19.June(1976).To(DateTime.Today);
foreach (DateTime date in range.Step(1.Days())
{
// I was alive in this day
}
(这还使用了一堆扩展方法 - 对于测试比生产更有用。)
为了解决 Marc 回答中的另一点,Noda Time肯定能够比 .NET API 更恰本地表达日期的概念,但我们目前没有类似范围之类的东西...不过这是一个好主意 - 我添加了一个 feature request .
关于.net - 我应该创建一个 DateRange 对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1845493/
我需要更改 DATERANGE 列的范围。默认值为 bounds='[)'。 这是我当前的专栏: from sqlalchemy.dialects.postgresql import DATERANG
我从客户端发送文档查询,其中currentDate在附加到所有文档的两个值之间。该文档具有expireDate和availableDate。 如何制定此查询?推测我想出了以下方法,但不起作用: {
以this为例,我想到了以下查询。我没有得到任何结果,但是如果我将“01/01/2017”替换为“null”,那么我会得到记录(全部来自2014年,因此我知道它应该返回数据)。谁能帮我吗? var
我有一个简单的表,它有一个带有日期类型的 user_birthday 字段(可以是空值) CREATE TABLE users ( user_id bigserial NOT NULL, us
我在调用数据库中的存储过程时遇到问题 这是我数据库中的存储过程 DELIMITER $$ USE `sample`$$ DROP PROCEDURE IF EXISTS `sp_ReturnAtten
我的一些域对象包含日期范围作为一对开始和结束日期属性: public class Period { public DateTime EffectiveDate { get; set; } pu
有没有办法在 Shiny 中破解或创建一个 dateRangeInput() 选择器,以便它仅选择月年(没有日期),或者自动选择所选月份的第一天,而不需要显示一天的选择?或者我应该创建另一个月日期选择
我看不出如何创建一个以 infinity 作为上限的日期范围。 Postgres 将两个输入都转换为独占上限: create table dt_overlap ( id serial prim
我有两个表,每个表都有相同的 ID,从第一次加入成员(member)开始。 一旦成员被批准,他/她也会因某些原因和条件而被拒绝。 查询结果需要按日期范围排序,然后根据所选 ID 的每个日期计算批准总数
我正在尝试将日期范围选择器添加到我的 html 文件中,但是当我单击输入框时无法显示它。它适用于日期选择器,但我希望它提供点击日期范围的功能。几天来我一直在努力解决这些问题,真的需要一些帮助。提取的代
我在 PostgreSQL(9.3) 中有一张表 daterange字段类型。 我可以像使用 JDBC 的字符串一样选择这个字段,但我不能将它插入到表中。 我尝试过的: PreparedStateme
我的报告页面的要求是:默认日期开始 = 每月 1 日(完成)默认日期结束 = 今天的日期(完成) 由于我们不希望应用程序因数据而崩溃,因此日期范围不应超过 30 天。我无法实现这一部分。没有最短日期,
我有一个非常棘手的问题,我现在正试图弄清楚它, 我有这个查询结果集 SELECT * FROM Orders OrderID | OrderAmount | OrderDate | E
我在 Python 和 Pandas 中工作,需要将一个日期范围划分为多个日期范围 - 并且需要这些范围的开始日期和结束日期 所以像这样: pd.date_range(start='20180301'
我有以下数据框: name from amount days A 7/31/18 200 1 B 7/31/18 300
有什么简单的方法可以将数据表切片为一个范围并对一个范围的计数求和吗? 假设我有以下数据表 Date Count 5/9/2016 5 5/10/2016 1 5/11/2016 2
我有以下类(class) public class DateRange { private DateTime startDate; private DateTime endDate;
我在 pg (postgresql) 中使用 "sequelize": "^2.0.0-rc3",此时我正在尝试使用日期范围进行原始查询,但 sequelize 不返回数据。 当我在 postgres
我有一个包含多年记录的数据框: WarName | StartDate | EndDate ----------------------------------------
查看 vue2-daterange-picker 示例在 https://innologica.github.io/vue2-daterange-picker/#usage 请问Clear按钮是如何实
我是一名优秀的程序员,十分优秀!