C#(C sharp)字串和時間的相互轉換
C#(C sharp)字串和時間的相互轉換。
一、DateTime –> string
時間型別轉化成字串型別,那是相當的簡單,直接呼叫ToString()方法即可。如:
DateTime dt = DateTime.Now;
string dtStr = dt.ToString();
如果想對輸出格式化,可以這麼寫:
dt.ToString("yyyy年MM月dd日");//2005年11月5日
dt.ToString("yyyy-MM-dd");//2005-11-5
string.Format("{0:d}",dt);//2005-11-5
string.Format("{0:D}",dt);//2005年11月5日
時間型別格式化(成字元型別)可以通過兩種方式:1、自定義時間格式。自己定義時間的構成和表示;2、標準時間格式。由標準庫提供的有限的表示方式。(詳細的情參考列表)
二、string -> DateTime
string dtString = “2009-10-12 00:12:05”;
DateTime dt = DateTime.Parse(dtStr); //方式一
DateTime dt2 = Convert.ToDateTime(dtStr);//方式二
當然DateTime也有多種表示方式(非格式化成字串型別),如:
dt.ToFileTimeUtc();//127756704859912816
dt.ToLocalTime();//2005-11-5 21:21:25
dt.ToLongDateString();//2005
當然如果最後要打印出來,就需要ToString()一下,轉化成字串型別。
三、時間的其它方法,屬性和運算
參考:
Custom DateTime Formatting
There are following custom format specifiers y (year), M (month), d (day), h (hour 12), H (hour 24), m (minute), s (second), f (second fraction), F (second fraction, trailing zeroes are trimmed), t (P.M or A.M) and z (time zone).
Following examples demonstrate how are the format specifiers rewritten to the output.
You can use also date separator / (slash) and time sepatator :
Here are some examples of custom date and time formatting:
[C#]
Standard DateTime Formatting
In DateTimeFormatInfo there are defined standard patterns for the current culture. For example property ShortTimePattern is string that contains value h:mm tt for en-US culture and value HH:mm for de-DE culture.
Following table shows patterns defined in DateTimeFormatInfo and their values for en-US culture. First column contains format specifiers for the String.Format method.
Specifier |
DateTimeFormatInfo property |
Pattern value (for en-US culture) |
t |
ShortTimePattern |
h:mm tt |
d |
ShortDatePattern |
M/d/yyyy |
T |
LongTimePattern |
h:mm:ss tt |
D |
LongDatePattern |
dddd, MMMM dd, yyyy |
f |
(combination of D and t) |
dddd, MMMM dd, yyyy h:mm tt |
F |
FullDateTimePattern |
dddd, MMMM dd, yyyy h:mm:ss tt |
g |
(combination of d and t) |
M/d/yyyy h:mm tt |
G |
(combination of d and T) |
M/d/yyyy h:mm:ss tt |
m, M |
MonthDayPattern |
MMMM dd |
y, Y |
YearMonthPattern |
MMMM, yyyy |
r, R |
RFC1123Pattern |
ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (*) |
s |
SortableDateTimePattern |
yyyy'-'MM'-'dd'T'HH':'mm':'ss (*) |
u |
UniversalSortableDateTimePattern |
yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*) |
(*) = culture independent |
Following examples show usage of standard format specifiers in String.Format method and the resulting output.
在C#中用於DateTime -> string的轉化
See also