ASP.NET Core 时间 DateTime 相关函数都在 System
的命名空间下,因此不需要引入额外的命名空间。
当前时间 DateTime.Now
属性
DateTime.Now
属性保存了当前的当前时间的一个 DateTime
实例
using System; namespace datetime { class Program { static void Main(string[] args) { // 当前最新时间 DateTime dt = DateTime.Now; Console.WriteLine(dt); } } }
输出结果如下
10/27/2021 3:14:56 PM
当前时间戳
其它时间函数
有了上面的实例,我们就可以用这个 DateTime
实例的属性和方法了
//当前时间 DateTime dt = DateTime.Now; // 今日周几 String dayOfWeek = dt.DayOfWeek.ToString("d"); // 本周周一 DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); // 本周周日 DateTime endWeek = startWeek.AddDays(6); // 月 // 本月几号 int day = dt.Day; // 本月 1 号 DateTime startMonth = dt.AddDays(1 - dt.Day); // 本月月末 DateTime endMonth = startMonth.AddMonths(1).AddDays(-1); // 本月月末方式2 endMonth = startMonth.AddDays((dt.AddMonths(1) - dt).Days - 1); // 季度 // 本季度开始日期 DateTime startQuarter = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day); // 本季度结束日期 DateTime endQuarter = startQuarter.AddMonths(3).AddDays(-1); // 年 // 本年年初 DateTime startYear = new DateTime(dt.Year, 1, 1); // 本年年末 DateTime endYear = new DateTime(dt.Year, 12, 31); // 上周一 var lastMonday = DateTime.Now.AddDays(Convert.ToInt32(1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) - 7); // 上周末(日) var lastSunday = DateTime.Now.AddDays(Convert.ToInt32(1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) - 7).AddDays(6); // 下周一 var nextMonday = DateTime.Now.AddDays(Convert.ToInt32(1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) + 7); // 下周末(日) var nextSunday = DateTime.Now.AddDays(Convert.ToInt32(1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) + 7).AddDays(6); // 另类解法年底最后一天 DateTime.Parse(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-1").AddMonths(1).AddDays(-1).ToShortDateString(); // 日期格式化 // 主要是巧用字符格式化方法 ToString(),简单好记 // 求月初: 格式化为 2021-10-01 DateTime.Now.ToString("yyyy-MM-01"); // 求月末 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString(); // 求上个月 1 号 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString(); // 求上个月最后一天 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString(); // 求下个月1号 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString(); // 求下个月最后一天 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortDateString(); // 七天后 DateTime.Now.AddDays(7).ToShortDateString(); // 七天前 DateTime.Now.AddDays(-7).ToShortDateString(); // 今天的年-月-日 DateTime.Now.Date.ToShortDateString(); // 本年度第一天 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString(); // 本年度最后一天 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString(); // 上一年度第一天 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString(); // 上一年度最后一天 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString(); // 下一年度第一天 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString(); // 下一年度最后一天 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString(); // 本季度第一天 DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).AddDays(1 - DateTime.Now.Day); // 本季度最后一天 DateTime.Parse(DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString(); // 下季度第一天 DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01"); // 下季度最后一天 DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString(); // 上季度第一天 DateTime.Now.AddMonths(-3 - ((DateTime.Now.Month - 1) % 3)).AddDays(1 - DateTime.Now.Day); // 上季度最后一天 DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).AddDays(1 - DateTime.Now.Day).AddDays(-1).ToShortDateString();
目前尚无回复