1. 程式人生 > >DateTime.ToString()的各種日期格式及互轉

DateTime.ToString()的各種日期格式及互轉

一、dateTime轉換為string

DateTime.ToString()可以設定自己想要的各種日期格式,只要在ToString()中設定要顯示的日期的顯示格式即可。

例:

ToString:2016/5/2 0:00:00
ToString("yyyy/MM/dd"):2016/05/02
ToString("yyyy-MM-dd"):2016-05-02
ToString("yyyy.MM.dd"):2016.05.02
ToString("dd/MM/yyyy"):02/05/2016
ToString("dd-MM-yyyy"):02-05-2016
ToString("yyyy年MM月dd日"):2016年05月02日

詳細解釋:

1.y代表年份,注意是小寫的

y,大寫的Y並不代表年份。

2.M表示月份。

3.d表示日期,注意D並不代表什麼。

4.hH表示小時,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("M")

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”;

二、string轉換為dateTime

方法一:Convert.ToDateTime(string)

string格式有要求,必須是yyyy-MM-dd hh:mm:ss

================================================

方法二:Convert.ToDateTime(string, IFormatProvider)

DateTime dt;

DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo();

dtFormat.ShortDatePattern = "yyyy/MM/dd";

dt = Convert.ToDateTime("2011/05/26", dtFormat);

================================================

方法三:DateTime.ParseExact()

string dateString = "20110526";

DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd",System.Globalization.CultureInfo.CurrentCulture);

或者

DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd",System.Globalization.CultureInfo.InvariantCulture);