JDK17升级实战:深入剖析JCE Provider认证失败与BouncyCastle集成
2026/6/11 10:32:51
获取N天前/后的日期使用AddDays方法进行日期偏移计算,正数表示未来日期,负数表示历史日期:
DateTime now = DateTime.Now; DateTime futureDate = now.AddDays(N); // N天后 DateTime pastDate = now.AddDays(-N); // N天前基础日期获取
DateTime today = DateTime.Now.Date; DateTime yesterday = today.AddDays(-1); DateTime tomorrow = today.AddDays(1);周范围计算
DateTime monday = today.AddDays(-(int)today.DayOfWeek + (int)DayOfWeek.Monday); DateTime sunday = monday.AddDays(6);月范围计算
DateTime monthStart = new DateTime(now.Year, now.Month, 1); DateTime monthEnd = monthStart.AddMonths(1).AddDays(-1);季度范围计算
int quarter = (now.Month - 1) / 3 + 1; DateTime quarterStart = new DateTime(now.Year, (quarter - 1) * 3 + 1, 1); DateTime quarterEnd = quarterStart.AddMonths(3).AddDays(-1);年范围计算
DateTime yearStart = new DateTime(now.Year, 1, 1); DateTime yearEnd = yearStart.AddYears(1).AddDays(-1);日期时间分离
string datePart = now.ToShortDateString(); // 仅日期 string timePart = now.ToString("HH:mm:ss"); // 仅时间中文星期显示
string chineseWeekday = "星期" + "日一二三四五六"[(int)now.DayOfWeek];标准化格式
string isoFormat = now.ToString("o"); // ISO 8601格式 string monthWithZero = now.ToString("MM"); // 补零月份 int monthRaw = now.Month; // 原始月份值DateTime.UtcNow存储DateTime.Now,应缓存结果DateTime类型而非字符串DayOfWeek枚举从周日(0)开始