求ASP Classic可用的两时间点精确分钟数及16次均分计算的公式
ASP Classic 精确时间间隔计算与糖果分配方案
数学计算公式
因为要包含起始(08:00)和结束(20:00)两个时间点,16颗糖果对应15个均等时间间隔:
- 总时长计算:20:00 - 08:00 = 12小时 = 720分钟
- 单个间隔分钟数:
间隔分钟数 = 总时长 ÷ (糖果数 - 1)→720 ÷ (16-1) = 48分钟 - 第n个食用时间点公式:
起始时间 + (n-1) × 间隔分钟数(n取值1到16)
ASP Classic 实现代码
用VBScript的DateAdd函数可直接计算每个时间点,示例代码如下:
<% Dim startTime, endTime, intervalMins, totalCandies, i, currentTime ' 初始化起始与结束时间 startTime = CDate("08:00") endTime = CDate("20:00") totalCandies = 16 ' 计算间隔分钟数 intervalMins = DateDiff("n", startTime, endTime) / (totalCandies - 1) ' 遍历输出所有食用时间点 Response.Write("<h3>各食用时间点:</h3>") Response.Write("<ul>") For i = 1 To totalCandies currentTime = DateAdd("n", (i-1)*intervalMins, startTime) Response.Write("<li>" & FormatDateTime(currentTime, vbShortTime) & "</li>") Next Response.Write("</ul>") %>
所有食用时间点列表
- 08:00(第1颗)
- 08:48(第2颗)
- 09:36(第3颗)
- 10:24(第4颗)
- 11:12(第5颗)
- 12:00(第6颗)
- 12:48(第7颗)
- 13:36(第8颗)
- 14:24(第9颗)
- 15:12(第10颗)
- 16:00(第11颗)
- 16:48(第12颗)
- 17:36(第13颗)
- 18:24(第14颗)
- 19:12(第15颗)
- 20:00(第16颗)
内容的提问来源于stack exchange,提问作者Henrik
相关产品推荐
相关产品推荐

