@@ -266,7 +266,19 @@ public static DateTime GetWeekStartTime()
266266 public static long GetWeekStartTimestamp ( )
267267 {
268268 var time = GetWeekStartTime ( ) ;
269- return new DateTimeOffset ( time , CurrentTimeZone . GetUtcOffset ( time ) ) . ToUnixTimeSeconds ( ) ;
269+ return DateTimeToUnixTimeSeconds ( time ) ;
270+ }
271+
272+ /// <summary>
273+ /// 获取本周开始时间戳(基于设置时区)
274+ /// </summary>
275+ /// <returns>本周一零点时间戳(秒) + 时区偏移</returns>
276+ /// <remarks>
277+ /// 返回值 = 标准Unix时间戳 + 时区偏移秒数
278+ /// </remarks>
279+ public static long GetWeekStartTimestampWithTimeZone ( )
280+ {
281+ return TimeToSecondsWithTimeZone ( GetWeekStartTime ( ) ) ;
270282 }
271283
272284 /// <summary>
@@ -295,9 +307,20 @@ public static DateTime GetWeekEndTime()
295307 public static long GetWeekEndTimestamp ( )
296308 {
297309 var time = GetWeekEndTime ( ) ;
298- return new DateTimeOffset ( time , CurrentTimeZone . GetUtcOffset ( time ) ) . ToUnixTimeSeconds ( ) ;
310+ return DateTimeToUnixTimeSeconds ( time ) ;
299311 }
300312
313+ /// <summary>
314+ /// 获取本周结束时间戳(基于设置时区)
315+ /// </summary>
316+ /// <returns>本周日23:59:59的时间戳(秒) + 时区偏移</returns>
317+ /// <remarks>
318+ /// 返回值 = 标准Unix时间戳 + 时区偏移秒数
319+ /// </remarks>
320+ public static long GetWeekEndTimestampWithTimeZone ( )
321+ {
322+ return TimeToSecondsWithTimeZone ( GetWeekEndTime ( ) ) ;
323+ }
301324
302325 /// <summary>
303326 /// 获取指定日期所在周的开始时间
@@ -330,9 +353,21 @@ public static DateTime GetStartTimeOfWeek(DateTime date)
330353 public static long GetStartTimestampOfWeek ( DateTime date )
331354 {
332355 var time = GetStartTimeOfWeek ( date ) ;
333- return new DateTimeOffset ( time , CurrentTimeZone . GetUtcOffset ( time ) ) . ToUnixTimeSeconds ( ) ;
356+ return DateTimeToUnixTimeSeconds ( time ) ;
334357 }
335358
359+ /// <summary>
360+ /// 获取指定日期所在周的开始时间戳(基于设置时区)
361+ /// </summary>
362+ /// <param name="date">指定日期</param>
363+ /// <returns>所在周周一零点时间戳(秒) + 时区偏移</returns>
364+ /// <remarks>
365+ /// 返回值 = 标准Unix时间戳 + 时区偏移秒数
366+ /// </remarks>
367+ public static long GetStartTimestampOfWeekWithTimeZone ( DateTime date )
368+ {
369+ return TimeToSecondsWithTimeZone ( GetStartTimeOfWeek ( date ) ) ;
370+ }
336371
337372 /// <summary>
338373 /// 获取下周开始时间
@@ -360,7 +395,19 @@ public static DateTime GetNextWeekStartTime()
360395 public static long GetNextWeekStartTimestamp ( )
361396 {
362397 var time = GetNextWeekStartTime ( ) ;
363- return new DateTimeOffset ( time , CurrentTimeZone . GetUtcOffset ( time ) ) . ToUnixTimeSeconds ( ) ;
398+ return DateTimeToUnixTimeSeconds ( time ) ;
399+ }
400+
401+ /// <summary>
402+ /// 获取下周开始时间戳(基于设置时区)
403+ /// </summary>
404+ /// <returns>下周一零点时间戳(秒) + 时区偏移</returns>
405+ /// <remarks>
406+ /// 返回值 = 标准Unix时间戳 + 时区偏移秒数
407+ /// </remarks>
408+ public static long GetNextWeekStartTimestampWithTimeZone ( )
409+ {
410+ return TimeToSecondsWithTimeZone ( GetNextWeekStartTime ( ) ) ;
364411 }
365412
366413 /// <summary>
@@ -389,9 +436,20 @@ public static DateTime GetNextWeekEndTime()
389436 public static long GetNextWeekEndTimestamp ( )
390437 {
391438 var time = GetNextWeekEndTime ( ) ;
392- return new DateTimeOffset ( time , CurrentTimeZone . GetUtcOffset ( time ) ) . ToUnixTimeSeconds ( ) ;
439+ return DateTimeToUnixTimeSeconds ( time ) ;
393440 }
394441
442+ /// <summary>
443+ /// 获取下周结束时间戳(基于设置时区)
444+ /// </summary>
445+ /// <returns>下周日23:59:59的时间戳(秒) + 时区偏移</returns>
446+ /// <remarks>
447+ /// 返回值 = 标准Unix时间戳 + 时区偏移秒数
448+ /// </remarks>
449+ public static long GetNextWeekEndTimestampWithTimeZone ( )
450+ {
451+ return TimeToSecondsWithTimeZone ( GetNextWeekEndTime ( ) ) ;
452+ }
395453
396454 /// <summary>
397455 /// 获取指定日期所在周的结束时间
@@ -422,6 +480,19 @@ public static DateTime GetEndTimeOfWeek(DateTime date)
422480 public static long GetEndTimestampOfWeek ( DateTime date )
423481 {
424482 var time = GetEndTimeOfWeek ( date ) ;
425- return new DateTimeOffset ( time , CurrentTimeZone . GetUtcOffset ( time ) ) . ToUnixTimeSeconds ( ) ;
483+ return DateTimeToUnixTimeSeconds ( time ) ;
484+ }
485+
486+ /// <summary>
487+ /// 获取指定日期所在周的结束时间戳(基于设置时区)
488+ /// </summary>
489+ /// <param name="date">指定日期</param>
490+ /// <returns>所在周周日23:59:59的时间戳(秒) + 时区偏移</returns>
491+ /// <remarks>
492+ /// 返回值 = 标准Unix时间戳 + 时区偏移秒数
493+ /// </remarks>
494+ public static long GetEndTimestampOfWeekWithTimeZone ( DateTime date )
495+ {
496+ return TimeToSecondsWithTimeZone ( GetEndTimeOfWeek ( date ) ) ;
426497 }
427498}
0 commit comments