世界完全对称日计算(C#)
原理很简单了,直接上代码了:
//测试
static void Main(string[] args)
{
List<DateTime> result = GetSymmetryDate(Convert.ToDateTime("2000-01-01"), Convert.ToDateTime("3000-01-01"));
foreach (DateTime datetime in result)
{
Console.WriteLine(datetime.ToString("yyyy-MM-dd"));
}
}
static List<DateTime> GetSymmetryDate(DateTime startDate, DateTime endDate)
{
List<DateTime> result = new List<DateTime>();
while (startDate <= endDate)
{
if (IsSymmetryDate(startDate))
{
result.Add(startDate);
}
startDate = startDate.AddDays(1);
}
return result;
}
//判断是否为对称日 原理:年反转和月日匹配,匹配上了符合条件。
static bool IsSymmetryDate(DateTime dateTime)
{
string dateYY = dateTime.ToString("yyyyMMdd").Substring(0, 4);
string dateDDMM = dateTime.ToString("yyyyMMdd").Substring(4);
char[] arr = dateYY.ToCharArray();
Array.Reverse(arr);
string temp = new string(arr);
return dateDDMM == temp;
}
测试结果:
2001-10-02
2010-01-02
2011-11-02
2020-02-02
2021-12-02
2030-03-02
2040-04-02
2050-05-02
2060-06-02
2070-07-02
2080-08-02
2090-09-02
2101-10-12
2110-01-12
2111-11-12
2120-02-12
2121-12-12
2130-03-12
2140-04-12
2150-05-12
2160-06-12
2170-07-12
2180-08-12
2190-09-12
2201-10-22
2210-01-22
2211-11-22
2220-02-22
2221-12-22
2230-03-22
2240-04-22
2250-05-22
2260-06-22
2270-07-22
2280-08-22
2290-09-22

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库