@@ -67,7 +67,19 @@ public static DateTime GetYearStartTime()
6767 public static long GetYearStartTimestamp ( )
6868 {
6969 var time = GetYearStartTime ( ) ;
70- return new DateTimeOffset ( time , CurrentTimeZone . GetUtcOffset ( time ) ) . ToUnixTimeSeconds ( ) ;
70+ return DateTimeToUnixTimeSeconds ( time ) ;
71+ }
72+
73+ /// <summary>
74+ /// 获取本年开始时间戳(基于设置时区)
75+ /// </summary>
76+ /// <returns>本年1月1日零点时间戳(秒) + 时区偏移</returns>
77+ /// <remarks>
78+ /// 返回值 = 标准Unix时间戳 + 时区偏移秒数
79+ /// </remarks>
80+ public static long GetYearStartTimestampWithTimeZone ( )
81+ {
82+ return TimeToSecondsWithTimeZone ( GetYearStartTime ( ) ) ;
7183 }
7284
7385 /// <summary>
@@ -96,7 +108,19 @@ public static DateTime GetYearEndTime()
96108 public static long GetYearEndTimestamp ( )
97109 {
98110 var time = GetYearEndTime ( ) ;
99- return new DateTimeOffset ( time , CurrentTimeZone . GetUtcOffset ( time ) ) . ToUnixTimeSeconds ( ) ;
111+ return DateTimeToUnixTimeSeconds ( time ) ;
112+ }
113+
114+ /// <summary>
115+ /// 获取本年结束时间戳(基于设置时区)
116+ /// </summary>
117+ /// <returns>本年12月31日23:59:59的时间戳(秒) + 时区偏移</returns>
118+ /// <remarks>
119+ /// 返回值 = 标准Unix时间戳 + 时区偏移秒数
120+ /// </remarks>
121+ public static long GetYearEndTimestampWithTimeZone ( )
122+ {
123+ return TimeToSecondsWithTimeZone ( GetYearEndTime ( ) ) ;
100124 }
101125
102126 /// <summary>
@@ -127,7 +151,20 @@ public static DateTime GetStartTimeOfYear(DateTime date)
127151 public static long GetStartTimestampOfYear ( DateTime date )
128152 {
129153 var time = GetStartTimeOfYear ( date ) ;
130- return new DateTimeOffset ( time , CurrentTimeZone . GetUtcOffset ( time ) ) . ToUnixTimeSeconds ( ) ;
154+ return DateTimeToUnixTimeSeconds ( time ) ;
155+ }
156+
157+ /// <summary>
158+ /// 获取指定日期所在年的开始时间戳(基于设置时区)
159+ /// </summary>
160+ /// <param name="date">指定日期</param>
161+ /// <returns>所在年1月1日零点时间戳(秒) + 时区偏移</returns>
162+ /// <remarks>
163+ /// 返回值 = 标准Unix时间戳 + 时区偏移秒数
164+ /// </remarks>
165+ public static long GetStartTimestampOfYearWithTimeZone ( DateTime date )
166+ {
167+ return TimeToSecondsWithTimeZone ( GetStartTimeOfYear ( date ) ) ;
131168 }
132169
133170 /// <summary>
@@ -158,6 +195,19 @@ public static DateTime GetEndTimeOfYear(DateTime date)
158195 public static long GetEndTimestampOfYear ( DateTime date )
159196 {
160197 var time = GetEndTimeOfYear ( date ) ;
161- return new DateTimeOffset ( time , CurrentTimeZone . GetUtcOffset ( time ) ) . ToUnixTimeSeconds ( ) ;
198+ return DateTimeToUnixTimeSeconds ( time ) ;
199+ }
200+
201+ /// <summary>
202+ /// 获取指定日期所在年的结束时间戳(基于设置时区)
203+ /// </summary>
204+ /// <param name="date">指定日期</param>
205+ /// <returns>所在年12月31日23:59:59的时间戳(秒) + 时区偏移</returns>
206+ /// <remarks>
207+ /// 返回值 = 标准Unix时间戳 + 时区偏移秒数
208+ /// </remarks>
209+ public static long GetEndTimestampOfYearWithTimeZone ( DateTime date )
210+ {
211+ return TimeToSecondsWithTimeZone ( GetEndTimeOfYear ( date ) ) ;
162212 }
163213}
0 commit comments