2009-01-05 38 views

Trả lời

9
DateTime.Now.ToString("h:mm tt") 
DateTime.Now.ToString("MM/dd/yyyy") 

Dưới đây là một số common format strings

+0

tiện dụng cheat sheet và không biết xấu hổ cắm: http://john-sheehan.com/blog/net-cheat-sheets –

19

Bạn có thể sử dụng định dạng chuỗi là tốt.

string time = DateTime.Now.ToString("hh:mm:ss"); // includes leading zeros 
string date = DateTime.Now.ToString("dd/MM/yy"); // includes leading zeros 

hoặc một số phím tắt nếu định dạng phù hợp với bạn

string time = DateTime.Now.ToShortTimeString(); 
string date = DateTime.Now.ToShortDateString(); 

Hoặc nên làm việc.

+0

Bạn đã có những điều ngược lại, phải là hh: mm: ss cho Thời gian và dd/MM/yy cho Ngày. –

+4

Để sử dụng đồng hồ 24 giờ HH: mm: ss –

+0

Để sử dụng đồng hồ 12 giờ hh: mm: ss tt –

58

Tôi chỉ muốn chỉ ra điều gì đó trong những câu trả lời này. Trong chuỗi định dạng ngày/giờ, '/' sẽ được thay thế bằng bất kỳ dấu phân tách ngày nào của người dùng là và ':' sẽ được thay thế bằng bất kỳ dấu phân tách thời gian nào của người dùng là. Tức là, nếu tôi đã xác định dấu phân cách ngày của mình thành '.' (trong applet bảng điều khiển Tùy chọn Ngôn ngữ và Tùy chọn Ngôn ngữ, "intl.cpl") và dấu phân cách thời gian của tôi là '?' (Chỉ giả vờ tôi bị điên như thế), sau đó

DateTime.Now.ToString("MM/dd/yyyy h:mm tt") 

sẽ trở

01.05.2009 6?01 PM

Trong hầu hết các trường hợp, đây là những gì bạn muốn, bởi vì bạn muốn tôn trọng các thiết lập của người dùng. Tuy nhiên, nếu bạn đòi hỏi định dạng là một cái gì cụ thể (chẳng hạn, nếu nó sẽ phân tích lại do người khác xuống dây), sau đó bạn cần phải thoát khỏi những ký tự đặc biệt:

DateTime.Now.ToString("MM\\/dd\\/yyyy h\\:mm tt") 

hoặc

DateTime.Now.ToString(@"MM\/dd\/yyyy h\:mm tt") 

mà giờ đây sẽ trả

01/05/2009 6:01 PM

EDIT:

Sau đó, một lần nữa, nếu bạn thực sự muốn tôn trọng các thiết lập của người dùng, bạn nên sử dụng một trong những định dạng chuỗi ngày/giờ tiêu chuẩn, do đó bạn tôn trọng không chỉ lựa chọn của người sử dụng dải phân cách, mà còn là định dạng chung của ngày và/hoặc thời gian.

DateTime.Now.ToShortDateString() 
DateTime.Now.ToString("d") 

Cả hai sẽ trả về "1/5/2009" bằng cách sử dụng tùy chọn tiêu chuẩn của Hoa Kỳ hoặc "05/01/2009" bằng cách sử dụng tùy chọn chuẩn của Vương quốc Anh.

DateTime.Now.ToLongDateString() 
DateTime.Now.ToString("D") 

Cả hai sẽ trả về "Thứ Hai, ngày 05 tháng 1 năm 2009" bằng ngôn ngữ Hoa Kỳ hoặc "05 tháng 1 năm 2009" ở Vương quốc Anh.

DateTime.Now.ToShortTimeString() 
DateTime.Now.ToString("t"); 

"6:01 PM" ở Hoa Kỳ, "18:01" ở Vương quốc Anh.

DateTime.Now.ToLongTimeString() 
DateTime.Now.ToString("T"); 

"6:01:04 PM" ở Hoa Kỳ, "18:01:04" ở Vương quốc Anh.

DateTime.Now.ToString() 
DateTime.Now.ToString("G"); 

"1/5/2009 6:01:04 PM" ở Hoa Kỳ, "05/01/2009 18:01:04" ở Vương quốc Anh.

Nhiều tùy chọn khác khả dụng. Xem tài liệu cho standard date and time format stringscustom date and time format strings.

+1

Được thăng hạng, vì điều này có thể rất lớn, đặc biệt khi di chuyển dữ liệu giữa các hệ thống. –

4

Hãy cẩn thận khi truy cập DateTime.Now hai lần, vì có thể cho các cuộc gọi đến giữa đêm và bạn sẽ nhận được kết quả lập dị trong những dịp hiếm hoi và bị gãi đầu.

Để an toàn, bạn nên gán DateTime.Now cho một biến địa phương đầu tiên nếu bạn đang đi để sử dụng nó nhiều hơn một lần:

var now = DateTime.Now; 
var time = now.ToString("hh:mm:ss tt"); 
var date = now.ToString("MM/dd/yy"); 

Lưu ý việc sử dụng chữ thường "hh" làm giờ hiển thị từ 00-11 ngay cả vào buổi chiều và "tt" để hiển thị AM/PM, như câu hỏi được yêu cầu. Nếu bạn muốn 24 giờ đồng hồ 00-23, sử dụng "HH".

3

Phương pháp để có được ngày hệ thống và thời gian trong một chuỗi đơn

public static string GetTimeDate() 
{ 
    string DateTime = System.DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss"); 
    return DateTime; 
} 

sample OUTPUT :-16-03-2015 07:45:15 
Các vấn đề liên quan