JS 中开始时间加小时数等于结束时间,怎么改这个代码?

JavaScript024

JS 中开始时间加小时数等于结束时间,怎么改这个代码?,第1张

1 小时数得保证是正整数,开始时间保证是合法的时间格式

2 代码

function count() {

    var hours = document.getElementById("xiaoshishu").value

    var startDate = document.getElementById("kaishi").value

    hours = parseInt(hours)

    startDate = new Date(startDate)

    var newDate = new Date(startDate.setHours(startDate.getHours() + hours))

    document.getElementById("jieshu").value = `${newDate.getFullYear()}-${newDate.getMonth() + 1}-${newDate.getDate()} ${newDate.getHours()}:${newDate.getMinutes()}`

}

count()

<!DOCTYPE HTML>

<html>

<head>

<meta charset=UTF-8>

<title>recursion</title>

<style type="text/css">

</style>

<script type="text/javascript">

onload = function ()

    {

    setInterval (function ()

    {

    var date = new Date ()

    date.setHours (date.getHours () + 1)

    var m = date.getMonth () + 1

    m = m < 10 ? "0" + m : m

    var d = date.getDate ()

    d = d < 10 ? "0" + d : d

    var h = date.getHours ()

    h = h < 10 ? "0" + h : h

    var mm = date.getMinutes ()

    mm = mm < 10 ? "0" + mm : mm

    txt.value = m + "-" + d + "-" + h + "-" + mm

    }, 1000)

    }

</script>

</head>

<body>

<input type="text" id="txt" />

</body>

</html>

我这有一个ASP.NET做的软件里有你要的JS脚本.

<title>- -选择日期 - -</title>

<script>

//*************************日历控件***************************

// cody by [STAR].sjz 2003-10-31

// 说明:返回值为 一个字符串

// 格式如下:

// 使用方法 :

// var dataString = showModalDialog("calendar.htm", "dd日mm月yyyy年" ,"dialogWidth:286pxdialogHeight:221pxstatus:nohelp:no")

var userFormatString

if(window.dialogArguments ==null)

{

userFormatString = "yyyy-mm--dd"

}

else

{

userFormatString = window.dialogArguments

}

with(new Date()){

var Nyear = getYear()

var Nmonth = getMonth() +1

var Ndate = getDate()

}

window.returnValue = new dataObj(Nyear,Nmonth,Ndate ).getDateString(userFormatString)

window.document.onclick = function(){

var obj = window.event.srcElement

if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" )

{

try{

window.currentActiveItem.runtimeStyle.cssText = ""

}

catch(e){ }

Nyear = obj.id.split("-")[0]

Nmonth = obj.id.split("-")[1]

Ndate = obj.id.split("-")[2]

window.currentActiveItem = obj

window.currentSelectDate = window.currentActiveItem.id

window.currentActiveItem.runtimeStyle.cssText = "background:url(http://www.5d.cn/bbs/uploadFiles/2003-10/3120401281018.gif) no-repeat 12px 6pxcolor:#000padding-top:1pxfont-weight:bold"

}

window.ftime.Text1.value=""

//window.ftime.Text1.value= window.currentSelectDate+" "+window.ftime.Select1.options[window.ftime.Select1.selectedIndex].text+":"+window.ftime.Select2.options[window.ftime.Select2.selectedIndex].text

window.ftime.Text1.value= window.currentSelectDate

window.returnValue = window.ftime.Text1.value

// window.ftime.Text1.value= window.currentSelectDate

//window.ftime.Text1.value=window.ftime.Text1.value+window.ftime.Select1.options[window.ftime.Select1.selectedIndex].text

}

function dataObj(year,month,date)

{

this.year = year

this.month = month

this.date = date

this.getDateString =

function(formatString)

{

return formatString.replace(/yyyy/ig , this.year).replace(/mm/ig , this.month).replace(/dd/ig , this.date)

}

}

window.onload = function(){

window.document.attachEvent("onclick" , doCmd)

window.document.attachEvent("onmouseover" , buttonOver)

window.document.attachEvent("onmouseout" , buttonOut)

window.document.attachEvent("onmousedown" , buttonDown)

window.document.attachEvent("onmouseup" , buttonUp)

window.document.attachEvent("ondblclick" ,

function()

{

var obj = window.event.srcElement

if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" )

{

var mydate = new dataObj(obj.id.split("-")[0] , obj.id.split("-")[1] , obj.id.split("-")[2] )

window.returnValue = window.ftime.Text1.value

window.close()

}

}

)

document.all.titleYear.innerHTML=TranYearMonthTitle(Nyear,Nmonth)

document.all.weekNameBox.insertAdjacentHTML("afterBegin",makeWeekNameHtmlStr())

document.all.calendarBox.innerHTML=makeCalendarHtmlStr(Nyear,Nmonth)

window.currentSelectDate = starCaTran(Nyear,Nmonth,Ndate)

window.document.all.calendarBox.show = show

window.currentActiveItem = window.document.getElementById(currentSelectDate)

if( window.currentActiveItem )

window.currentActiveItem.click()

window.document.all.calendarBox.show()

today=new Date()

window.ftime.Select1.selectedIndex=today.getHours()

window.ftime.Select2.selectedIndex=today.getMinutes()

// window.ftime.Text1.value= window.currentSelectDate+" "+window.ftime.Select1.options[window.ftime.Select1.selectedIndex].text+":"+window.ftime.Select2.options[window.ftime.Select2.selectedIndex].text

window.ftime.Text1.value= window.currentSelectDate

window.returnValue = window.ftime.Text1.value

}

function starCalendar(year,month){

this.year = year

this.month = month

this.monthTable = function(){

var aMonth=new Array()

for(i=1i<7i++)aMonth[i]=new Array(i)

var dCalDate=new Date(this.year, this.month-1, 1)

var iDayOfFirst=dCalDate.getDay()

var iDaysInMonth=new Date(this.year, this.month, 0).getDate()

var iOffsetLast=new Date(this.year, this.month-1, 0).getDate()-iDayOfFirst+1

var iDate = 1

var iNext = 1

for (d = 0d <7d++)

aMonth[1][d] = (d<iDayOfFirst)?(-iDayOfFirst+d+1):iDate++

for (w = 2w <7w++)

for (d = 0d <7d++)

aMonth[w][d] = iDate++

return aMonth

}

}

function makeWeekNameHtmlStr(){

var tmpStr=""

var weekName = ["日","一","二","三","四","五","六"]

for(var i=0i<7i++)tmpStr+="<span class=weekName>"+weekName[i]+"</span>"

return tmpStr

}

function makeCalendarHtmlStr(year,month){

window.theCalendar = new starCalendar(year,month)

var theCaArr = theCalendar.monthTable()

var theDaysInMonth = new Date(year, month, 0).getDate()

var theCaHtml = "<div class=Ctable>"

for(var i=1i<7i++)

for(var j=0j<7j++)

theCaHtml = theCaHtml+"<span class="+( (theCaArr[i][j]<1 || theCaArr[i][j]>theDaysInMonth)?"OtherMonthDate":"Cdate")+" id="+starCaTran(year,month,theCaArr[i][j])+">"+starCaTran(year,month,theCaArr[i][j]).split("-")[2]+"</span>"

return theCaHtml+"</div>"

}

function starCaTran(year,month,date){

with(new Date(year,month-1,date))

return getYear() + "-" +(getMonth()+1) + "-" + getDate()

}

function TranYearMonthTitle(year,month){

with(new Date(year,month-1,1))

return "<span style='text-decoration:underlinecursor:handfont-weight:boldpadding:1 2 0 1width:40px' onclick=showMore(1940,2050,this.innerHTML) onmouseover=\"this.runtimeStyle.cssText='color:#fff'\" onmouseout=\"this.runtimeStyle.cssText=''\" onpropertychange=showC()>" + getYear() + "</span>" + "年" + "<span style='text-decoration:underlinecursor:handfont-weight:boldpadding:1 2 0 1width:20px' onclick=showMore(1,12,this.innerHTML) onmouseover=\"this.runtimeStyle.cssText='color:#fff'\" onmouseout=\"this.runtimeStyle.cssText=''\" onpropertychange=showC()>" + (getMonth()+1) + "</span>" + "月"

}

function showC(){

if(event.propertyName != "innerHTML")return

window.theCalendar.year = new Number(document.all.titleYear.getElementsByTagName("span")[0].innerHTML)

window.theCalendar.month = new Number(document.all.titleYear.getElementsByTagName("span")[1].innerHTML)

window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year,window.theCalendar.month)

window.document.all.calendarBox.show = showwindow.document.all.calendarBox.show()

}

function showMore(starNum,endNum,selectedValue){

var obj = window.event.srcElement

var selectedIndex = selectedValue - starNum

if(obj.selectBox){

obj.selectBox.selectedIndex = selectedIndex

return obj.selectBox.show(document.all.calendarBox.offsetHeight + document.all.weekNameBox.offsetHeight )

}

var selectBox = window.document.createElement("div")

selectBox.className = "selectBox"

selectBox.style.height = 0

selectBox.style.top = window.event.clientY - window.event.offsetY + window.event.srcElement.offsetHeight

selectBox.style.left = window.event.clientX - window.event.offsetX

selectBox.show = showBox

selectBox.selectedIndex = selectedIndex

selectBox.onclick = function(){

var selectedObj = window.event.srcElement

if( "nobr" == selectedObj.tagName.toLowerCase() &&selectBox.contains(selectedObj))

{

if(obj.innerHTML != selectedObj.innerHTML)obj.innerHTML = selectedObj.innerHTML

}

}

selectBox.onlosecapture = alert

var iString = ""

for(var i=starNumi<=endNumi++){

iString += "<nobr onmouseover=\"this.parentNode.getElementsByTagName('nobr')[this.parentNode.selectedIndex].style.cssText=''this.style.cssText='background-color:#00006Ccolor:#fff'\" onmouseout=this.style.cssText=''>"+i+"</nobr><br>"

}

selectBox.insertAdjacentHTML ("afterBegin",iString)

window.document.body.appendChild(selectBox)

obj.selectBox = selectBox

obj.selectBox.show(document.all.calendarBox.offsetHeight + document.all.weekNameBox.offsetHeight )

}

function showBox(iHeight)

{

var box = this

box.style.height =1

box.style.display = "block"

window.clearInterval(box.timeHandle)

box.timeHandle = window.setInterval(interValHandle,1)

var s = 0,t =1

function interValHandle()

{

box.scrollTop=1000000

s = s + t*t

t += 0.5

box.style.height = parseInt(box.style.height) + Math.floor(s)

box.style.width = 65 / iHeight * box.offsetHeight

if( box.offsetHeight >iHeight )

{

window.clearInterval(box.timeHandle)

box.style.height = iHeight

box.scrollTop = box.childNodes[0].offsetHeight*box.selectedIndex

box.getElementsByTagName("nobr")[box.selectedIndex].style.cssText='background-color:#00006Ccolor:#fff'

window.document.attachEvent("onclick",

box.hide=function()

{

box.style.display = "none"

window.document.detachEvent("onclick",box.hide)

}

)

}

}

}

</script>

<script>

function buttonOver(){

var obj = window.event.srcElement

if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" )

{

obj.runtimeStyle.cssText="border-color:#fff #606060 #808080 #fffpadding:3 0 0 0 "

}

if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" )

{

obj.style.backgroundColor = "#fff"

}

}

function buttonOut(){

var obj = window.event.srcElement

if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" )

{

obj.runtimeStyle.cssText = ""

}

if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" )

{

window.setTimeout(function(){obj.style.backgroundColor = ""},300)

}

}

function buttonDown(){

var obj = window.event.srcElement

if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" )

{

obj.setCapture()

obj.runtimeStyle.borderColor="#808080 #fefefe #fefefe #808080"

}

}

function buttonUp(){

var obj = window.event.srcElement

if(obj.tagName.toLowerCase() == "span" &&obj.className.replace(/controlButton/ig,"star") == "star" )

{

obj.releaseCapture()

obj.runtimeStyle.cssText =""

}

}

function doCmd(){

var obj = window.event.srcElement

if(obj.tagName.toLowerCase() == "span" &&obj.className.replace(/controlButton/ig,"star") == "star" )

{

switch(obj.getAttribute("cmd"))

{

case "py":

window.document.all.titleYear.innerHTML=window.TranYearMonthTitle(window.theCalendar.year-1,window.theCalendar.month)

window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year-1,window.theCalendar.month)

break

case "pm":

window.document.all.titleYear.innerHTML=window.TranYearMonthTitle(window.theCalendar.year,window.theCalendar.month-1)

window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year,window.theCalendar.month-1)

break

case "nm":

window.document.all.titleYear.innerHTML=window.TranYearMonthTitle(window.theCalendar.year,window.theCalendar.month+1)

window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year,window.theCalendar.month+1)

break

case "ny":

window.document.all.titleYear.innerHTML=window.TranYearMonthTitle(window.theCalendar.year+1,window.theCalendar.month)

window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year+1,window.theCalendar.month)

break

}

window.document.all.calendarBox.show()

window.currentSelectDate = starCaTran(Nyear,Nmonth,Ndate)

window.currentActiveItem = window.document.getElementById(currentSelectDate)

if( window.currentActiveItem )window.currentActiveItem.runtimeStyle.cssText = "background:url(choiceit.gif) no-repeat 12px 6pxcolor:#000padding-top:1pxfont-weight:bold"

}

}

function show()

{

var box = this

window.clearTimeout(box.timeHandle)

var CdateBoxs = this.getElementsByTagName("span")

for(var i=0i<CdateBoxs.lengthi++)

{

CdateBoxs[i].defaultValue = new Number( CdateBoxs[i].innerHTML )

CdateBoxs[i].innerHTML = 0

}

showDate()

function showDate(){

for(var i=0i<CdateBoxs.lengthi++){

if( new Number( CdateBoxs[i].innerHTML ) + 1 <= new Number( CdateBoxs[i].defaultValue ) )

CdateBoxs[i].innerHTML = new Number( CdateBoxs[i].innerHTML ) + 1

}

box.timeHandle = window.setTimeout(showDate,1)

}

this.show = show1

}

function show1()

{

var box = this

window.clearTimeout(box.timeHandle)

var CdateBoxs = this.getElementsByTagName("span")

for(var i=0i<CdateBoxs.lengthi++)CdateBoxs[i].style.display = "none"

showDate(CdateBoxs[0])

function showDate(obj){

if( !obj )return

obj.style.display = "inline"

box.timeHandle = window.setTimeout(function(){showDate(obj.nextSibling)},1)

}

this.show = show

}

/*

function show()

{

}

*/

</script>

<style>*{ font:12pxletter-spacing:0px}

body{ background-color:#e5eaa0overflow:hiddenmargin:0border:0px}

#titleYear{ text-align:centerpadding-top:3pxwidth:120pxheight:20pxborder:solid #E5E9F2border-width:0px 1px 1px 0pxbackground-color:#97ca00color:#000cursor:default}

#weekNameBox{ width:282pxborder-bottom:0}

.weekName{ text-align:centerpadding-top:4pxwidth:40pxheight:20pxborder:solid #E5E9F2border-width:0px 1px 1px 0pxbackground-color:#C0D0E8color:#243F65cursor:default}

.controlButton{ font-family: Webdingsfont:9pxtext-align:centerpadding-top:2pxwidth:40pxheight:20pxborder:solid #E5E9F2border-width:0px 1px 1px 0pxbackground-color:#95ca00color:#243F65cursor:default}

.Ctable{ width:282pxmargin-bottom:20px}

.Ctable span{ font:9px verdanafont-weight:boldcolor:#243F65text-align:centerpadding-top:4pxwidth:40pxheight:26pxborder:solid #C0D0E8border-width:0px 1px 1px 0pxcursor:default}

.Cdate{ background-color:#b4dad6}

.Ctable span.OtherMonthDate{ color:#999background-color:#f6f6f6}

.selectBox{ cursor:handfont:9px verdanawidth:80pxposition:absoluteborder:1px solid #425E87overflow-y:scrolloverflow-x:hiddenbackground-color:#fffFILTER:progid:DXImageTransform.Microsoft.Shadow(Color=#999999,offX=10,offY=10,direction=120,Strength=5)SCROLLBAR-FACE-COLOR: #E5E9F2SCROLLBAR-HIGHLIGHT-COLOR: #E5E9F2SCROLLBAR-SHADOW-COLOR: #A4B9D7SCROLLBAR-3DLIGHT-COLOR: #A4B9D7SCROLLBAR-ARROW-COLOR: #000000SCROLLBAR-TRACK-COLOR: #eeeee6SCROLLBAR-DARKSHADOW-COLOR: #ffffff}

.selectBox nobr{ padding:0px 0px 2px 5pxwidth:100%color:#000letter-spacing:2pxtext-decoration:none}

</style>

<body onselectstart="return false">

<div style="MARGIN:0px">

<div id="controlBar"><span class="controlButton" cmd="py" title="上一年">33</span><span class="controlButton" cmd="pm" title="上一月">3</span><span id="titleYear"></span><span class="controlButton" cmd="nm" title="下一月">4</span><span class="controlButton" cmd="ny" title="下一年">44</span></div>

<div id="weekNameBox"></div>

<div id="calendarBox"></div>

</div>

<form id=ftime>

<font>

<SELECT id="Select1" name=shour>

<OPTION>00</OPTION>

<OPTION>01</OPTION>

<OPTION>02</OPTION>

<OPTION>03</OPTION>

<OPTION>04</OPTION>

<OPTION>05</OPTION>

<OPTION>06</OPTION>

<OPTION>07</OPTION>

<OPTION>08</OPTION>

<OPTION>09</OPTION>

<OPTION>10</OPTION>

<OPTION>11</OPTION>

<OPTION>12</OPTION>

<OPTION>13</OPTION>

<OPTION>14</OPTION>

<OPTION>15</OPTION>

<OPTION>16</OPTION>

<OPTION>17</OPTION>

<OPTION>18</OPTION>

<OPTION>19</OPTION>

<OPTION>20</OPTION>

<OPTION>21</OPTION>

<OPTION>22</OPTION>

<OPTION>23</OPTION>

<OPTION>00</OPTION>

</SELECT><b>点</b>

<SELECT id="Select2" name=sminute>

<OPTION>00</OPTION>

<OPTION>01</OPTION>

<OPTION>02</OPTION>

<OPTION>03</OPTION>

<OPTION>04</OPTION>

<OPTION>05</OPTION>

<OPTION>06</OPTION>

<OPTION>07</OPTION>

<OPTION>08</OPTION>

<OPTION>09</OPTION>

<OPTION>10</OPTION>

<OPTION>11</OPTION>

<OPTION>12</OPTION>

<OPTION>13</OPTION>

<OPTION>14</OPTION>

<OPTION>15</OPTION>

<OPTION>16</OPTION>

<OPTION>17</OPTION>

<OPTION>18</OPTION>

<OPTION>19</OPTION>

<OPTION>20</OPTION>

<OPTION>21</OPTION>

<OPTION>22</OPTION>

<OPTION>23</OPTION>

<OPTION>24</OPTION>

<OPTION>25</OPTION>

<OPTION>26</OPTION>

<OPTION>27</OPTION>

<OPTION>28</OPTION>

<OPTION>29</OPTION>

<OPTION>30</OPTION>

<OPTION>31</OPTION>

<OPTION>32</OPTION>

<OPTION>33</OPTION>

<OPTION>34</OPTION>

<OPTION>35</OPTION>

<OPTION>36</OPTION>

<OPTION>37</OPTION>

<OPTION>38</OPTION>

<OPTION>39</OPTION>

<OPTION>40</OPTION>

<OPTION>41</OPTION>

<OPTION>42</OPTION>

<OPTION>43</OPTION>

<OPTION>44</OPTION>

<OPTION>45</OPTION>

<OPTION>46</OPTION>

<OPTION>47</OPTION>

<OPTION>48</OPTION>

<OPTION>49</OPTION>

<OPTION>50</OPTION>

<OPTION>51</OPTION>

<OPTION>52</OPTION>

<OPTION>53</OPTION>

<OPTION>54</OPTION>

<OPTION>55</OPTION>

<OPTION>56</OPTION>

<OPTION>57</OPTION>

<OPTION>58</OPTION>

<OPTION>59</OPTION>

</SELECT><b>分</b>

<INPUT id="Text1" type="text" name="Text1" value="111"></FONT>

</form>

</body>

拷贝下来试试! 行的话给分啊 呵呵:)

楼主用的什么变成语言啊?如果是ASP,NET就很简单啊,我就是把这个脚本做成单独的页面,直接在其他页面调用的啊.如果是别的语言,你就把JS脚本函数弄过去.

JSP我没用过,把我这个页面直接弄过去,在其他页面调用不行吗?这个就是JS+HTML啊.应该可以吧.当需要调用的时候不调用脚本,调用这个网页,让程序弹出这个网页,设置网页的大小(就像弹出来一个小日历一样)就行.和我这的效果一样.

我照你说的改了改,不太好用,呵呵.只能帮这么多了,你看看吧.我可以担保给你的程序绝对可用.请别人帮着把我这个改了吧.谁改的好就给谁分吧:)