C#實戰小技巧(四):獲取當前日期時間
//獲取日期+時間
DateTime.Now.ToString(); // 2008-9-4 20:02:10
DateTime.Now.ToLocalTime().ToString(); // 2008-9-4 20:12:12
//獲取日期
DateTime.Now.ToLongDateString().ToString(); // 2008年9月4日
DateTime.Now.ToShortDateString().ToString(); // 2008-9-4
DateTime.Now.ToString("yyyy-MM-dd"); // 2008-09-04
DateTime.Now.Date.ToString(); // 2008-9-4 0:00:00
//獲取時間
DateTime.Now.ToLongTimeString().ToString(); // 20:16:16
DateTime.Now.ToShortTimeString().ToString(); // 20:16
DateTime.Now.ToString("hh:mm:ss"); // 08:05:57
DateTime.Now.TimeOfDay.ToString(); // 20:33:50.7187500
//其他
DateTime.ToFileTime().ToString(); // 128650040212500000
DateTime.Now.ToFileTimeUtc().ToString(); // 128650040772968750
DateTime.Now.ToOADate().ToString(); // 39695.8461709606
DateTime.Now.ToUniversalTime().ToString(); // 2008-9-4 12:19:14
DateTime.Now.Year.ToString(); 獲取年份 // 2008
DateTime.Now.Month.ToString(); 獲取月份 // 9
DateTime.Now.DayOfWeek.ToString(); 獲取星期 // Thursday
DateTime.Now.DayOfYear.ToString(); 獲取第幾天 // 248
DateTime.Now.Hour.ToString(); 獲取小時 // 20
DateTime.Now.Minute.ToString(); 獲取分鐘 // 31
DateTime.Now.Second.ToString(); 獲取秒數 // 45
//n為一個數,可以數整數,也可以事小數
dt.AddYears(n).ToString(); //時間加n年
dt.AddDays(n).ToString(); //加n天
dt.AddHours(n).ToString(); //加n小時
dt.AddMonths(n).ToString(); //加n個月
dt.AddSeconds(n).ToString(); //加n秒
dt.AddMinutes(n).ToString(); //加n分
SQL語句使用時間和日期的函式
getdate():獲取系統當前時間
dateadd(datepart,number,date):計算在一個時間的基礎上增加一個時間後的新時間值,比如:dateadd(yy,30,getdate())
datediff(datepart,startdate,enddate):計算兩個時間的差值,比如:datediff(yy,getdate(),'2008-08-08')
dataname(datepart,date):獲取時間不同部分的值,返回值為字串
datepart(datepart,date):和datename相似,只是返回值為整型
day(date):獲取指定時間的天數
month(date):獲取指定時間的月份
year(date):獲取指定時間的年份
select year(getdate()) :當前年份
DateTime.ToString()的各種日期格式
例:
ToString:2016/9/27 0:00:00
ToString("yyyy/MM/dd"):2016/09/27
ToString("yyyy-MM-dd"):2016-09-27
ToString("yyyy.MM.dd"):2016.09.27
ToString("dd/MM/yyyy"):27/09/2016
ToString("dd-MM-yyyy"):27-09-2016
ToString("yyyy年MM月dd日"):2016年09月27日
ToString("yyyy-MM-dd HH:mm:ss.fff")); 2016-09-27 01:02:03.001
// fff 越多精度越高
ToString("yyyy-MM-dd HH:mm:ss:ms")); 2016-09-27 01:02:03:234
詳細解釋:
1.y代表年份,注意是小寫的y,大寫的Y並不代表年份。
2.M表示月份。
3.d表示日期,注意D並不代表什麼。
4.h或H表示小時,h用的是12小時制,H用的是24小時制。
5.m表示分鐘。
6.s表示秒。注意S並不代表什麼。
格式 |
輸出 |
示例 |
年 |
||
y |
7 |
string yy = DateTime.Now.ToString("y-MM") yy="7-05" |
yy |
07 |
string yy = DateTime.Now.ToString("yy-MM") yy="07-05" |
yyy或更多的y |
1984 |
string yy = DateTime.Now.ToString("yyyy"); yy="2007" |
月 |
||
M |
5. |
string mon = DateTime.Parse("1984-05-09")ToString("yyyy-M") mon = "1984-5" |
MM |
05. |
string mon = DateTime.Parse("1984-05-09")ToString("MM") mon = "05" |
MMM |
如果是中文版的作業系統,則會輸出:五月. 如果是英文作業系統,則輸入月份前三個字母的簡寫:May |
string mon = DateTime.Parse("2006-07-01").ToString("MMM") 英文版作業系統:Jul 中文版作業系統:七月 |
MMMM或更多的M |
如果是中文版的作業系統,則會輸出:五月. 如果是英文作業系統,則輸入月份的全寫 |
string mon = DateTime.Parse("2006-07-01").ToString("MMM") 英文版作業系統:July 中文版作業系統:七月 |
日期或星期 |
||
d |
9 |
string dd= DateTime.Parse("1984-05-09")ToString("d") dd= "9" |
dd |
09 |
string dd= DateTime.Parse("1984-05-09")ToString("dd") dd= "09" |
ddd |
如果是中文版的作業系統,則會輸出星期,如星期三。. 如果是英文作業系統,則輸出星期的簡寫:如 Wed |
string dd = DateTime.Parse("2006-07-01").ToString("ddd") 英文版作業系統:Wed 中文版作業系統:星期三 |
dddd或更多的d |
如果是中文版的作業系統,則會輸出星期,如星期三。. 如果是英文作業系統,則輸出星期:如 Wednesday |
string dd = DateTime.Parse("2006-07-01").ToString("dddd") 英文版作業系統:Wednesday 中文版作業系統:星期三 |
小時 |
||
h |
小時範圍:1-12 |
string hh = DateTime.Now.ToString(“h”); hh = 8 |
hh或更多的h |
小時範圍:1-12 |
string hh = DateTime.Now.ToString(“hh”); hh = 08 |
H |
小時範圍:0-23 |
string hh = DateTime.Now.ToString(“yyyy-H”); hh = 2006-8 |
HH或更多的H |
小時範圍:0-23 |
string hh = DateTime.Now.ToString(“yyyy-HH”); hh = 2006-08 string hh = DateTime.Pare(“2006-7-4 18:00:00”).ToString(“yyyy-HH”); hh = 2006-18 |
分鐘 |
||
m |
6 |
string mm = DateTime.Now.ToString("yyyy-MM-dd-m"); mm = “2006-07-01-6”; |
mm或更多的m |
06 |
string mm = DateTime.Now.ToString("yyyy-MM-dd-mm"); mm = “2006-07-01-06”; |
秒 |
||
s |
6 |
string mm = DateTime.Now.ToString("yyyy-MM-dd-s"); mm = “2006-07-01-6”; |
ss或更多的s |
06 |
string mm = DateTime.Now.ToString("yyyy-MM-dd-ss"); mm = “2006-07-01-06”; |