已经当前时间,我要得到时时彩当前是第几期,且离开奖时间还剩几秒
时时彩开奖说明:
夜间0点至2点,5分钟一期
10:00-21:50,10分钟一期
22点至24点,5分钟一期
全天共120期。
---------------------------------------------
我要得到以下结果:
比如:
0点03分----->第1期,离开奖时间还剩余120秒
0点11分----->第3期,离开奖时间还剩余240秒
------解决方案--------------------------------------------------------

------解决方案--------------------------------------------------------
写个sql的
DECLARE @dt DATETIME
SET @dt=CONVERT(VARCHAR(10),GETDATE(),120)
;WITH temp AS (
SELECT
[Datatime]=DATEADD(mi,number,@dt),
[openDatatime]=CASE
WHEN CONVERT(VARCHAR(5),DATEADD(mi,number,@dt),114) BETWEEN '00:00' AND '01:55' THEN DATEADD(mi,(number/5+1)*5,@dt)
WHEN CONVERT(VARCHAR(5),DATEADD(mi,number,@dt),114) BETWEEN '10:00' AND '21:50' THEN DATEADD(mi,(number/10+1)*10,@dt)
WHEN CONVERT(VARCHAR(5),DATEADD(mi,number,@dt),114) BETWEEN '22:00' AND '23:55' THEN DATEADD(mi,(number/5+1)*5,@dt)
ELSE null
END
FROM [master].dbo.spt_values sv WHERE sv.[type]='p' AND DATEADD(mi,number,@dt)<DATEADD(dd,1,@dt)
)
SELECT
时间=CONVERT(VARCHAR(5),[Datatime],114),
相差秒=DATEDIFF(ss,[Datatime],[openDatatime])
FROM temp
------解决方案--------------------------------------------------------
把开奖对应的秒数存到一个数组a里,取当前时间,算出对应的秒数t
遍历数组,当 a[i+1]-t>a[i+1]-a[i]的时候,a[i+1]-t就是下次开奖的秒数
------解决方案--------------------------------------------------------
说一个我的思路,用UNIX时间戳,时间戳是从1970年1月1日开始所经过的秒数。
用今天夜间0点至2点这个阶段来举例。
假设今天0点整的时间戳的值是X,0点11分的时间戳的值是Y,计算第几期的方法就是:(Y-X)/300。计算剩余时间就是:(Y-X)%300。为什么是300呢,因为5分钟是300秒....
以此类推.....
------解决方案--------------------------------------------------------
写个倒计时不就可以了,什么都不要看,从零点开始,每隔一期开始倒计时,开奖后重新倒计时
------解决方案--------------------------------------------------------

------解决方案--------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var data = Enumerable.Range(0, 24 * 60)
.Select(x => new { H = x / 60, M = x % 60, X = x })
.Where(x => x.M % 5 == 0)
.Where(x => x.H < 2