我正在设置一个时间播放器,需要找到一种以4:00 pm或16:00为前一天的方法。一切都会有帮助!
您可以尝试:
var now = DateTime.Now;
var dt = new DateTime(now.Year,now.Month,now.Day,16,0,0).AddDays(-1);
最好的方法是使用周期数组的概念来处理您处于限制的情况。
例如,在23h时加4小时会携带到另一天,因为相同的是在1点降低4小时。
。这个示例我制作了一个代码,该代码从当前时间缩短了4个小时。
function get_hour(){
var decreaseValue = 4;
//Creating the cicle hour array
var cicleHoursArray = [];
for(var i = 0; i < 24; i++)
{
cicleHoursArray[i] = i;
}
var currentTime= Date.now();
var currentHour = new Date(currentTime).getHours();
var newIndex = currentHour - decreaseValue;
var resultTime;
//Time from yesterday
if(newIndex < 0)
{
newIndex = 24 - newIndex;
//If you want to reduce one day, that is the spot for it
}
resultTime = cicleHoursArray[newIndex];
}