计算两个时间日期差值(asp.net与js)

asp.net计算两个日期时间之间的差值(天数、小时、分、秒等)

两个时间相差多少 .net中的timespan应用2008/11/10 11:54TimeSpan 对象表示时间间隔或持续时间,按正负天数、小时数、分钟数、秒数以及秒的小数部分进行度量。用于度量持续时间的最大时间单位是天。更大的时间单位(如月和年)的天数不同,因此为保持一致性,时间间隔以天为单位来度量。

TimeSpan 对象的值是等于所表示时间间隔的刻度数。一个刻度等于 100 纳秒,TimeSpan 对象的值的范围在 MinValue 和 MaxValue 之间。

TimeSpan 值可以表示为 [-]d.hhss.ff,其中减号是可选的,它指示负时间间隔,d 分量表示天,hh 表示小时(24 小时制),mm 表示分钟,ss 表示秒,而 ff 为秒的小数部分。即,时间间隔包括整的正负天数、天数和剩余的不足一天的时长,或者只包含不足一天的时长。例如,初始化为 1.0e+13 刻度的 TimeSpan 对象的文本表示“11.13:46:40”,即 11 天,13 小时,46 分钟和 40 秒。

TimeSpan 类型实现了 System.IComparable 和 System.IComparable 接口。

protected void Page_Load(object sender, EventArgs e)
{
DateTime startTime=Convert.ToDateTime("2007-04-11 15:53:08");
DateTime endTime = Convert.ToDateTime("2007-05-12 16:54:19"); 
TimeSpan ts = endTime - startTime;
Response.Write("相差的天数"+ts.Days+"<br>");
Response.Write("相差的小时"+ts.Hours+"<br>");
Response.Write("相差的分钟" + ts.Minutes + "<br>");
Response.Write("相差的秒数" + ts.Seconds + "<br>");
Response.Write("相差的总时间 用天数表示"+ts.TotalDays + "<br>");
Response.Write("相差的总时间 用小时表示" + ts.TotalHours + "<br>");
Response.Write("相差的总时间 用分钟表示" + ts.TotalMinutes + "<br>");
Response.Write("相差的总时间 用秒数表示" + ts.TotalSeconds + "<br>");
}

运行结果:

相差的天数31
相差的小时1
相差的分钟1
相差的秒数11
相差的总时间 用天数表示31.0424884259259
相差的总时间 用小时表示745.019722222222
相差的总时间 用分钟表示44701.1833333333
相差的总时间 用秒数表示2682071   例:DateTime startTime = Convert.ToDateTime("2007-04-11 15:53:08");DateTime endTime = Convert.ToDateTime("2007-05-12 16:54:19"); TimeSpan ts = endTime - startTime;
double totalSeconds = ts.TotalSeconds;//秒数

Console.WriteLine(totalSeconds);

ASP+JS获取并实时显示服务器时间的代码

Function showtime()
getdate = now()
time0 = Split(getdate," ")(1)
h = Split(time0,":")(0)
m = Split(time0,":")(1)
s = Split(time0,":")(2)
showtime = h&":"&m&":"&s
End Function

<body topmargin="0" onLoad="meizzTime(secondSub)" >

<script language=javascript type="text/javascript">

//特别注明:北京时间是格林尼治标准时加八小时,因此用的起始时间也是从八点起算的 var secondServer = <%=DateDiff("s", "1970-01-01 08:00:00", Now())%>;

var secondClient = parseInt(new Date().getTime()/1000);

var secondSub = secondServer - secondClient; //两端时间秒差

//星期函数

 function initArray(){

this.length=initArray.arguments.length

for(var i=0;i <this.length;i++)

this[i+1]=initArray.arguments[i]

}

function meizzTime(n) {

var mei = new Date();

mei.setTime(mei.getTime() + n*1000); //得到一个新的时间

var y = mei.getYear();//年

var t = mei.getMonth()+1;//月分需加1

var d = mei.getDate();//日

var w = new initArray( "星 期 日", "星 期 一", "星 期 二", "星 期 三", "星 期 四", "星 期 五", "星 期 六");

 var z = w[mei.getDay()+1]//星期

var h = (mei.getHours() > 9) ? mei.getHours() : "0" + mei.getHours(); //时

var m = (mei.getMinutes() > 9) ? mei.getMinutes() : "0" + mei.getMinutes(); //分

var s = (mei.getSeconds() > 9) ? mei.getSeconds() : "0" + mei.getSeconds(); //秒

document.meizz.clock1.value = y +"."+ t +"."+ d +", "+ h +":"+ m +":"+ s document.meizz.clock2.value = ""+z +"(农历 月 日)"; setTimeout("meizzTime(secondSub)", 1000); }

 </script>

<form name="meizz" style="margin:1">

<a target=_blank href="wnl.htm" title="点击查看:万年历">

<input name="clock1" size="21" class="form"> <BR>

 <input name="clock2" size="21" class="form">

</a> </form>

猜你喜欢

转载自blog.csdn.net/qq_38819293/article/details/81570994