C#常用類(三) DateTime與TimeSpan類 - 台部落
文章推薦指數: 80 %
參考或轉載至:MSDN、C#中比較常用的DateTime結構的使用方法、C#的TimeSpan介紹1 DateTime 常見用法1.1DateTime常見屬性序號屬性名解釋1 Now 獲取 ...
請輸入正確的登錄賬號或密碼
註冊
忘記密碼
首頁
未分類
正文
C#常用類(三)DateTime與TimeSpan類
原創
渐进的冰山
2019-01-1112:51
參考或轉載至:MSDN、C#中比較常用的DateTime結構的使用方法、C#的TimeSpan介紹
1DateTime常見用法
1.1DateTime常見屬性
序號
屬性名
解釋
1
Now
獲取一個DateTime對象,該對象設置爲此計算機上的當前日期和時間,表示爲本地時間。
2
Date
獲取此實例的日期部分。
3
Today
獲取當前日期。
4
Day
獲取此實例所表示的日期爲該月中的第幾天。
5
DayOfWeek
獲取此實例所表示的日期是星期幾。
6
DayOfYear
獲取此實例所表示的日期是該年中的第幾天。
7
Year
獲取此實例所表示日期的年份部分。
8
Month
獲取此實例所表示日期的月份部分。
9
Hour
獲取此實例所表示日期的小時部分。
10
Minute
獲取此實例所表示日期的分鐘部分。
11
Second
獲取此實例所表示日期的秒部分。
12
Millisecond
獲取此實例所表示日期的毫秒部分。
13
Kind
獲取一個值,該值指示由此實例表示的時間是基於本地時間、協調世界時(UTC),還是兩者皆否。
14
Ticks
獲取表示此實例的日期和時間的計時週期數。
15
TimeOfDay
獲取此實例的當天的時間。
16
UtcNow
獲取一個DateTime對象,該對象設置爲此計算機上的當前日期和時間,表示爲協調通用時間(UTC)。
1.2DataTime常見方法
1.2.1DateTime.Now
按年、月、日分別統計數據,可使用DateTime.Now.Year,DateTime.Now.Month,DateTime.Now.Day獲取。
同理,當前的時分秒也可以這樣的方式獲取。
還可以在當前時間加上一個段時間等操作。
staticvoidMain(string[]args)
{
//實例化一個DateTime對象
DateTimenewChina=newDateTime(1949,10,1,12,0,0);
Console.WriteLine(newChina);
//使用DateTime.Now屬性則可獲得當前時間。
DateTimenowTime=DateTime.Now;
Console.WriteLine("TimeNowis:{0},{1},{2}",nowTime.Year,nowTime.Month,nowTime.Day);
Console.WriteLine("TimeNow2is:{0},{1},{2},{3}",nowTime.Hour,nowTime.Minute,nowTime.Second,nowTime.Millisecond);
Console.WriteLine("3Daysafteris:{0}",nowTime.AddDays(3));
Console.ReadLine();
}
結果:
1.2.2ToString方法
DateTime的ToString方法有四種重載方式。
其中一個重載方式允許傳入String,這就意味着你可以將當前DateTime對象轉換成等效的字符串形式。
比如我們將當前時間輸出,日期按yyyy-mm-dd格式,時間按hh:mm:ss格式。
具體點這裏
staticvoidMain(string[]args)
{
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd"));
Console.WriteLine(DateTime.Now.ToString("hh:mm:ss"));
}
2TimeSpan常見用法
TimeSpan:表示一個時間間隔。
2.1構造函數
①TimeSpan(Int64)將TimeSpan結構的新實例初始化爲指定的刻度數。
(DateTime.Tick:是計算機的一個計時週期,單位是一百納秒,即一千萬分之一秒)
②TimeSpan(Int32,Int32,Int32)將TimeSpan結構的新實例初始化爲指定的小時數、分鐘數和秒數。
③TimeSpan(Int32,Int32,Int32,Int32)將TimeSpan結構的新實例初始化爲指定的天數、小時數、分鐘數和秒數。
④TimeSpan(Int32,Int32,Int32,Int32,Int32)將新的TimeSpan結構初始化爲指定的天數、小時數、分鐘數、秒數和毫秒數。
staticvoidMain(string[]args)
{
TimeSpants1=newTimeSpan(4,20,33);//將時間間隔ts1初始化爲4小時20分33秒
TimeSpants2=newTimeSpan(2,10,36,45);//將時間間隔ts2初始化爲2天10小時36分45秒
TimeSpants3=newTimeSpan(6,12,56,45,23);//將時間間隔ts3初始化爲6天12小時56分45秒23毫秒
Console.WriteLine(ts1);
Console.WriteLine(ts2);
Console.WriteLine(ts3);
}
結果爲:
2.2TimeSpan屬性
序號
屬性
解釋
1
Days
直接取出TimeSpan結構所表示的時間間隔的天數部分。
2
Hours
直接取出TimeSpan結構所表示的時間間隔的小時部分。
3
Minutes
直接取出TimeSpan結構所表示的時間間隔的分鐘部分。
4
Seconds
直接取出TimeSpan結構所表示的時間間隔的秒數部分。
5
Milliseconds
直接取出TimeSpan結構所表示的時間間隔的毫秒部分。
6
Ticks
表示多少個一百納秒(計算機的一個計時單位)。
7
TotalDays
將TimeSpan結構所表示的時間間隔換算成等效天數。
8
TotalHours
將TimeSpan結構所表示的時間間隔換算成等效小時數。
9
TotalMinutes
將TimeSpan結構所表示的時間間隔換算成等效分鐘數。
10
TotalSeconds
將TimeSpan結構所表示的時間間隔換算成等效秒數數。
例子:
staticvoidMain(string[]args)
{
TimeSpants4=newTimeSpan(7,18,23,41,576);//將時間間隔ts4初始化爲7天18小時23分41秒576毫秒(毫秒以千進制)
DateTimedt1=newDateTime(2018,1,10,20,44,0);
DateTimedt2=DateTime.Now;
ts4=dt2-dt1;//重新給ts4賦值
Console.WriteLine("時間間隔爲:{0}",ts4);
Console.WriteLine("時間間隔的天數部分:{0}",ts4.Days);
Console.WriteLine("時間間隔的小時部分:{0}",ts4.Hours);
Console.WriteLine("時間間隔的分鐘部分:{0}",ts4.Minutes);
Console.WriteLine("時間間隔的秒部分:{0}",ts4.Seconds);
Console.WriteLine("時間間隔的毫秒部分:{0}",ts4.Milliseconds);
Console.WriteLine("時間間隔的等效刻度數(計時單位:一百納秒):{0}",ts4.Ticks);//輸出多少個一百納秒:30天*24小時*60分*60秒*1000毫秒+03小時*60分*60秒*1000毫秒+09分*60秒*1000毫秒+48秒*1000毫秒+599毫秒=2603388599毫秒,因爲刻度是一百納秒(一千萬分之一秒),毫秒爲一千分之一秒,所以一毫秒等於1萬乘以一百納秒,所以最後等於2603388599毫秒*10000+5781(個一百納秒)=26033885995781。
Console.WriteLine("時間間隔的等效天數:{0}",ts4.TotalDays);
Console.WriteLine("時間間隔的等效小時數:{0}",ts4.TotalHours);
Console.WriteLine("時間間隔的等效分鐘數:{0}",ts4.TotalMinutes);
Console.WriteLine("時間間隔的等效秒數:{0}",ts4.TotalSeconds);
Console.WriteLine("時間間隔的等效毫秒數:{0}",ts4.TotalMilliseconds);
}
3應用:計算程序運行時間
例子:計算10億次加計算所需要的時間。
staticvoidMain(string[]args)
{
DateTimet0=DateTime.Now;
doublenum=1;
for(inti=1;i<1000000000;i++)
{
num+=i;
}
DateTimet1=DateTime.Now;
TimeSpandeltT=t1-t0;
Console.WriteLine("總計算時間:"+deltT.TotalMinutes+"s");
Console.WriteLine("總計算時間:"+deltT.TotalSeconds+"s");
Console.WriteLine("總計算時間:"+deltT.TotalMilliseconds+"m");
}
結果如下:
發表評論
登录
所有評論
還沒有人評論,想成為第一個評論的人麼?請在上方評論欄輸入並且點擊發布.
相關文章
C#OpenCVEmguCvmobilenet_v3對象檢測
鏈接:https://pan.baidu.com/s/1I9N3lRe_t9C24IKJRcv89Q?pwd=1212
由於OpenCVSharp缺少相關api,這次使用EmguCv,這個demo網上都是python版本的,抄寫爲C#
使用
eflay
2022-03-2214:33:27
《前端運維》一、Linux基礎--07Shell函數
linuxshell可以用戶定義函數,然後在shell腳本中可以隨便調用。
shell中函數的定義格式如下:
[function]funname[()]
{
action;
[returnint;]
}
Zaking
2022-03-2214:33:17
《前端運維》一、Linux基礎--06Shell流程控制
這章我們來學習下流程控制,簡單來說就是邏輯判斷和循環的寫法。
並不複雜,我們來簡單地看下。
1、if語句
shell的if語句有兩種寫法,一種是shell腳本式的,一種是命令式的。
ifcondition
then
command
Zaking
2022-03-2214:33:17
Qt數據庫應用17-通用數據庫請求
一、前言
數據庫請求是在數據庫採集的基礎上,換成http請求的形式來獲取數據,這樣就脫離了數據庫組件,而採用的通用的http請求的形式從數據庫拿數據庫,這個通用性就非常廣泛了,比如對方用java採集到設備的數據存入數據庫,另外一個區域是用的
飛揚青雲
2022-03-2214:32:37
Runtime-InlineCache
從編譯說起。
以C1爲例,假設Java代碼有個invoke指令:
voidfoo(){
base.vcall();
}
在編譯這個foo的時候,遇到base.vcall(),它會生成一個HIR指令Invoke,這個Invoke後
kelthuzadx
2022-03-2214:31:47
ElasticSearch7.3學習之採用restful風格對索引的增刪改查
1、爲什麼需要手動創建索引
直接put數據PUTindex/_doc/1,es會自動生成索引,並建立動態映射dynamicmapping。
這樣的話很大可能與實際的需求不服,在實際的應用上,我們需要自己手動建立索引和映射,這也是爲了更
|舊市拾荒|
2022-03-2214:30:36
Go開發效率工具一覽圖
高清無碼圖
前幾天發了朋友圈,結果衆多好友告訴我,看不清,看不清。
。
。
所以,今日特奉上高清無碼大圖,一字不差,供大家慢慢消化。
原圖(7.1MB)奉上,拿走不謝!
額外福利
除了奉上高清無碼原圖外,還悄悄告訴你一個無敵技巧,輸入goc
KevinWan
2022-03-2214:27:56
顯示數字二進制數
#include
延伸文章資訊
- 1C# TimeSpan結構體代碼示例- 純淨天空
本文整理匯總了C#中System.TimeSpan結構體的典型用法代碼示例。如果您正苦於以下問題:C# TimeSpan結構體的具體用法?C# TimeSpan怎麽用?C# TimeSpan使用...
- 2C#通俗易懂教程之TimeSpan结构 - 我爱捣鼓
C#两个时间相减,得到一个TimeSpan 实例,TimeSpan 有一些属性:Days、TotalDays、Hours、TotalHours、Minutes、TotalMinutes、Seco...
- 3TimeSpan 建構函式(System)
將TimeSpan 結構的新執行個體初始化為指定的時數、分鐘數和秒數。 public: TimeSpan(int hours, int minutes, int seconds);. C# 複製.
- 4C# TimeSpan 计算时间差(时间间隔) - 就是个农民- 博客园
TimeSpan 结构表示一个时间间隔。 命名空间:System 程序集:mscorlib(在mscorlib.dll 中) 说明: 1.DateTime值类型代表了一个从公元0001年1月1日0.
- 5自訂TimeSpan 格式字串
下列範例說明如何使用"d" 自訂格式規範。 C# 複製. TimeSpan ts2 = new TimeSpan ...