c# - 如何在对象列表中每 180 天生成一个唯一编号
问题描述
所以我有带有 aint
和 a 的对象DateTime
,我必须将它们插入到 a 中list
。日期是已知的,但对于该日期的每 180 天,int 必须是唯一的。
如果日期是: ,则每 180 的数字应该是
01.01.2019 - 1,
01.03.2019 - 2,
01.05.2019 - 3,
02.05.2019 - 4,
02.07.2019 - 1,(因为自 01.01.2019 起已过去 180,所以它可以再次为 1)
03.07.2019 - 5 等..
解决方案
如果列表中的日期是唯一的,并且您不关心从一开始的连续数字,那么您可以使用此功能:
public int GetDateId(DateTime date)
{
return (int)TimeSpan.FromTicks(date.Ticks).TotalDays % 180;
}
它将给定的日期转换为天数并将计数除以 180。余数是每个日期的唯一数字。
推荐阅读
- python - python re.split():如何保存一些分隔符(而不是使用括号来保存所有分隔符)
- css - 如何将css文件连接到wordpress标题的末尾?
- matplotlib - 进程在 matplotlib 中以退出代码 139(被信号 11:SIGSEGV 中断)完成
- vuejs2 - 为什么滑块中的图片无法正确显示
- javascript - 如何将三个文本表达式均匀对齐并垂直居中在一行中
- c++ - 使用向量时转储核心
- python - 在 PyQt5 中,弹出 QMessageBox 后,新父级在不同的 Qthread 中
- php - laravel 没有得到引导样式表
- laravel - laravel 保存 pdf 没有这样的文件或目录
- javascript - 如何从这个对象数组中获得以下输出?