C# 生成日历

C# 生成日历,c#,php,calendar,C#,Php,Calendar,如何编写日历?我的意思是如何确定一个月的几天,第一天是星期一、星期二还是什么。一个月有多少天等 我主要使用PHP和C。但我主要是在寻找大多数语言(包括PHP和C#)背后的逻辑,这些语言将提供实用函数或库,允许您玩日期游戏,而不必过多地参与繁琐的计算 PHP和函数将告诉您关于给定日期的大多数细节,包括星期几、月日和年日,前提是您以时间戳格式开始 如果要查找给定月份第一个月的详细信息,请使用PHPmktime()函数获取所需日期的时间戳,然后如上所述将其传递到getdate() 要知道一个月有多少天

如何编写日历?我的意思是如何确定一个月的几天,第一天是星期一、星期二还是什么。一个月有多少天等

我主要使用PHP和C。但我主要是在寻找大多数语言(包括PHP和C#)背后的逻辑,这些语言将提供实用函数或库,允许您玩日期游戏,而不必过多地参与繁琐的计算

PHP和函数将告诉您关于给定日期的大多数细节,包括星期几、月日和年日,前提是您以时间戳格式开始

如果要查找给定月份第一个月的详细信息,请使用PHP
mktime()
函数获取所需日期的时间戳,然后如上所述将其传递到
getdate()

要知道一个月有多少天,可以使用查找表(即Jan=31,等等),2月有一个特例,或者使用上述方法得到下个月的1号,减去24小时得到当前月的最后一个


如果您使用的是最新版本的PHP(ie 5.3),那么有一个非常有用的新date类,它取代了大多数旧的日期/时间功能,并提供了更多功能。(PHP5.2中也有,但不如5.3版本好)。

看看for C#中的
DateTime
类型

您可以通过以下方式确定给定日期的工作日:

var date = DateTime.Parse("16.10.2010");

Console.WriteLine(date.DayOfWeek);
如果要查找一个月的天数,请尝试以下方法:

Console.WriteLine(DateTime.DaysInMonth(date.Year, date.Month));

看看C#中的
gregoriacalendar
类。这将告诉你根据不同的日期“规则”你需要知道的关于日期的信息


这将帮助您找到
DateTime
类无法为您管理的日期的周数。

第一天从周日或周一开始,现在您需要从那里开始,跟踪闰年。或者,您可以从特定的已知日期开始并从该日期继续。或者:使用系统的日期/时间功能为您完成工作。