程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> asp.net中C#中計算時間差代碼,

asp.net中C#中計算時間差代碼,

編輯:C#入門知識

asp.net中C#中計算時間差代碼,


我用的最簡單的辦法是

代碼如下 復制代碼
DateTime dtone = Convert.ToDateTime("2007-1-1 05:32:22");
DateTime dtwo = Convert.ToDateTime("2007-1-1 04:20:15");
TimeSpan span = dtone.Subtract(dtwo);
Response.Write(span.Days + "天" + span.Hours + "小時" + span.Minutes + "分鐘" + span.Seconds+"秒");

上面是給定兩個時間,計算時間差,輸出類似於“相差10天5小時10分28秒”的格式了,但是如果我想算出兩個頁面執行時差呢。

實例1

代碼如下 復制代碼
/// <summary>
/// 程序執行時間測試
/// </summary>
/// <param name="dateBegin">開始時間</param>
/// <param name="dateEnd">結束時間</param>
/// <returns>返回(秒)單位,比如: 0.00239秒</returns>
public static string ExecDateDiff(DateTime dateBegin, DateTime dateEnd)
{
TimeSpan ts1 = new TimeSpan(dateBegin.Ticks);
TimeSpan ts2 = new TimeSpan(dateEnd.Ticks);
TimeSpan ts3 = ts1.Subtract(ts2).Duration();
//你想轉的格式
return
ts3.TotalMilliseconds.ToString();
}

這是最基本的,得到的是毫秒數

如果你是只單純的需要你的那種格式完全可以直接取前10位就行了

代碼如下 復制代碼
1.ts3.ToString("g") 0:00:07.171
2.ts3.ToString("c") 00:00:07.1710000
3.ts3.ToString("G") 0:00:00:07.1710000

有三種格式可以選擇,我建議如果需要其實一種的時候可以使用截取的試比較快捷
比如

代碼如下 復制代碼
ts3.ToString("g").Substring(0,8) 0:00:07.1
ts3.ToString("c").Substring(0,8) 00:00:07
ts3.ToString("G").Substring(0,8) 0:00:00

--------------------------------------------------------------------------------

C#中使用TimeSpan計算兩個時間(www.111cn.net)的差值

代碼如下 復制代碼
可以反加兩個日期之間任何一個時間單位。
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小時"+ ts.Minutes.ToString()+"分鐘"+ ts.Seconds.ToString()+"秒";
return dateDiff;
}


TimeSpan ts = Date1 - Date2;
double dDays = ts.TotalDays;//帶小數的天數,比如1天12小時結果就是1.5
int nDays = ts.Days;//整數天數,1天12小時或者1天20小時結果都是1

最近發表時間的函數

代碼如下 復制代碼
public string DateStringFromNow(DateTime dt)
{
TimeSpan span = DateTime.Now - dt;
if (span.TotalDays > 60)
{
return dt.ToShortDateString();
}
else if ( span.TotalDays > 30 )
{
return "1個月前";
}
else if (span.TotalDays > 14)
{
return "2周前";
}
else if (span.TotalDays > 7)
{
return "1周前";
}
else if (span.TotalDays > 1)
{
return string.Format("{0}天前", (int)Math.Floor(span.TotalDays));
}
else if (span.TotalHours > 1)
{
return string.Format("{0}小時前", (int)Math.Floor(span.TotalHours));
}
else if (span.TotalMinutes > 1)
{
return string.Format("{0}分鐘前", (int)Math.Floor(span.TotalMinutes));
}
else if (span.TotalSeconds >= 1)
{
return string.Format("{0}秒前", (int)Math.Floor(span.TotalSeconds));
}
else
{
return "1秒前";
}
}

from:http://www.111cn.net/net/160/45591.htm


在aspnet中怎自動生成Abcd與123

如果用數字就簡單些,可以直接用for,如果是字母,可以事先儲存一個字符串,然後當做char數組即可…或者直接把數字轉換為char。
 

aspnet中的C#與C語言中的C++有什關系呀

ASP.NET 好像目前能支持3種語言C#、 Visual Basic、Jscrip。

C# (C sharp) 是微軟對這一問題的解決方案。C#是一種最新的、面向對象的編程語言。使用簡單的C#語言結構,這些組件可以方便的轉化為XML 網絡服務,從而使它們可以由任何語言在任何操作系統上通過Internet進行調用。
最重要的是,C#使得C++程序員可以高效的開發程序,而絕不損失C/C++原有的強大的功能。因為這種繼承關系,C#與C/C++具有極大的相似性,熟悉類似語言的開發者可以很快的轉向C#。
1.C#的現代化設計能夠消除很多常見的C++編程錯誤。
2.C#語言允許類型定義的,擴展的元數據。這些元數據可以應用於任何對象。項目構建者可以定義領域特有的屬性並把他們應用於任何語言元素-類,接口等等。
3.內置對組建對象模型(COM)和基於Windows?的API的支持;
4.允許有限制地使用純指針(Native Pointer)。
基本就這些了吧,推薦一個帖子給你看
bbs.gxut.edu.cn/...page=1

如果你沒有接觸或者還不熟悉ASP.NET,推薦一本ASP.NET教程《ASP.NET技術詳解與應用實例》(C#版) ,不過我沒電子版的教程下載。 你可以去買本呀,應該不貴,也比較好找。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved