1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using System;
- namespace CB.Common
- {
- /// <summary>
- /// 彩种期数计算相关
- /// </summary>
- public class TermUtil
- {
- /// <summary>
- /// 获取下一期号
- /// </summary>
- /// <param name="qi"></param>
- /// <param name="lottery"></param>
- /// <returns></returns>
- public static long GetNextQi(long qi, string lottery)
- {
- long year = qi / 1000;
- long endQi = year * 1000 + 153;
- if (lottery == "3d" || lottery == "p3" || lottery == "hc1")
- {
- endQi = endQi + 205;
- if (2014 == year)//2014年少一期
- { endQi = endQi - 1; }
- }
- if (0 == (year % 4))
- { endQi = endQi + 1; }
- if (qi < endQi)
- return qi + 1;
- return (year + 1) * 1000 + 1;
- }
- /// <summary>
- /// 获取上一期号
- /// </summary>
- /// <param name="qi"></param>
- /// <param name="lottery"></param>
- /// <returns></returns>
- public static long GetLastQi(long qi, string lottery)
- {
- long year = qi / 1000;
- long minQi = year * 1000 + 001;
- long lastQi = qi - 1;
- if (minQi > lastQi)
- {
- year = year - 1;
- long endQi = year * 1000 + 153;
- if (lottery == "3d" || lottery == "p3")
- {
- endQi = endQi + 205;
- if (2014 == year)//2014年少一期
- { endQi = endQi - 1; }
- }
- if (0 == (year % 4))
- { endQi = endQi + 1; }
- lastQi = endQi;
- }
- return lastQi;
- }
- /// <summary>
- /// 获取下一期号限制P3/3D
- /// </summary>
- /// <param name="localQi">必须为最新已开奖的期数</param>
- /// <returns></returns>
- public static long GetLatestQi(long localQi)
- {
- int qi = Convert.ToInt32(localQi);
- if (0 < qi)
- {
- DateTime now = DateTime.Now;
- int year = qi / 1000;
- DateTime sDate = new DateTime(year, 12, 31, 20, 30, 0);
- DateTime eDate = new DateTime(year + 1, 1, 1, 20, 30, 0);
- if (now > sDate && now < eDate)
- {
- qi = (year + 1) * 1000 + 1;
- }
- else
- {
- qi = qi + 1;
- }
- }
- return qi;
- }
- }
- }
|