我想要得到给定日期所在月份的第一天和最后一天。日期来自UI字段中的值。
如果我使用时间选择器,我可以说
var maxDay = dtpAttendance.MaxDate.Day;
但我试图从DateTime对象中获取它。如果我有这个。
DateTime dt = DateTime.today;
如何从dt中获取每月的第一天和最后一天?
我想要得到给定日期所在月份的第一天和最后一天。日期来自UI字段中的值。
如果我使用时间选择器,我可以说
var maxDay = dtpAttendance.MaxDate.Day;
但我试图从DateTime对象中获取它。如果我有这个。
DateTime dt = DateTime.today;
如何从dt中获取每月的第一天和最后一天?
当前回答
试试这个:
string strDate = DateTime.Now.ToString("MM/01/yyyy");
其他回答
DateTime结构只存储一个值,而不是一个值范围。MinValue和MaxValue是静态字段,用于保存DateTime结构实例的可能值范围。这些字段是静态的,与DateTime的特定实例无关。它们与DateTime类型本身相关。
推荐阅读:static (c#参考)
更新:获取月份范围:
DateTime date = ...
var firstDayOfMonth = new DateTime(date.Year, date.Month, 1);
var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1);
更新:来自评论(@KarlGjertsen & @SergeyBerezovskiy)
DateTime date = ...
var firstDayOfMonth = new DateTime(date.Year, date.Month, 1);
var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddSeconds(-1);
//OR
var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddTicks(-1);
你可以试着得到本月的第一天;
DateTime.Now.AddDays(-(DateTime.Now.Day-1))
给它赋一个值。
是这样的:
dateEndEdit.EditValue = DateTime.Now;
dateStartEdit.EditValue = DateTime.Now.AddDays(-(DateTime.Now.Day-1));
我在我的脚本中使用了这个(适用于我),但我需要一个完整的日期,而不需要将其修剪为只有日期而没有时间。
public DateTime GetLastDayOfTheMonth()
{
int daysFromNow = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month) - (int)DateTime.Now.Day;
return DateTime.Now.AddDays(daysFromNow);
}
很简单
Begin = new DateTime(DateTime.Now.Year, DateTime.Now.Month,1).ToShortDateString();
End = new DataFim.Text = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month)).ToShortDateString();
创建一个DateTime类的实例
DateTime dateTime = DateTime.Now;
如果你想要得到这个月的最后一天,你可以这样做
int lastDayOfMonth = DateTime.DaysInMonth(caducidadPuntos.Year, caducidadPuntos.Month);
如果你想得到每月的第一天,你可以这样做
DateTime firstDayMonth = new DateTime(dateTime.Year, dateTime.Month, 1);