2016-08-08 23 views
5

Tôi muốn chuyển đổi DateTime.Now sang định dạng yyyy-mm-dd vì đó là định dạng duy nhất mà tôi có thể sử dụng trong truy vấn của mình mà tôi muốn đưa vào.
Mặc định format của DateTime.Now trông giống như 5/1/2008 6:32:06 PM.
Nếu tôi muốn thay đổi định dạng của nó để yyyyMMdd tôi có thể sử dụng dòng mã này:Định dạng DateTime.Now để yyyy-mm-dd

var dateString1 = DateTime.Now.ToString("yyyyMMdd"); 

Tuy nhiên, khi tôi cố gắng như nhau cho định dạng yyyy-mm-dd này như dưới đây:

var dateString2 = DateTime.Now.ToString("yyyy-mm-dd"); 

sự kết quả tôi nhận được là sai. Đối với các dòng mã sau đây:

var dateString1 = DateTime.Now.ToString("yyyyMMdd"); 
var dateString2 = DateTime.Now.ToString("yyyy-mm-dd"); 

Console.WriteLine("yyyyMMdd " + dateString1); 
Console.WriteLine("yyyy-mm-dd "+ dateString2); 

tôi nhận được kết quả sau:

enter image description here

đó là sai đối với trường hợp thứ hai.
Tôi đang thiếu gì?

+0

'mm' là phút. Những gì bạn cần là 'MM' như trong định dạng đầu tiên của bạn. – uTeisT

Trả lời

7

Theo số msdnMM định dạng thông số là viết tắt của tháng và mm - trong vài phút.

"mm" | Phút, từ 00 đến 59.

"MM" | Tháng, kể từ ngày 01 qua 12.

Vì vậy, mã của bạn sẽ giống như sau:

var dateString1 = DateTime.Now.ToString("yyyyMMdd"); 
    var dateString2 = DateTime.Now.ToString("yyyy-MM-dd"); 

    Console.WriteLine("yyyyMMdd " + dateString1); 
    Console.WriteLine("yyyy-MM-dd "+ dateString2); 

Và bạn sẽ nhận được kết quả mong muốn

+0

Giải thích rất rõ ràng, cảm ơn. – eg16

7
var dateString1 = DateTime.Now.ToString("yyyyMMdd"); 
    var dateString2 = DateTime.Now.ToString("yyyy-MM-dd"); 

    Console.WriteLine("yyyyMMdd " + dateString1); 
    Console.WriteLine("yyyy-MM-dd "+ dateString2); 

Bạn đang sử dụng "mm" thay vì "MM" ở định dạng thứ hai của mình. mm là cho phút, MM là cho tháng.

+0

Cảm ơn bạn đã giải pháp. Điều này giải quyết vấn đề của tôi nhưng @Mikhail giải thích lý do vì vậy tôi chấp nhận câu trả lời của mình và lên bầu chọn của bạn, quá. Cảm ơn – eg16

2

Bỏ lỡ của bạn là chữ thường "m" ở định dạng thứ hai, xác định MINUTES, nhưng bạn cần "M" thay vì "m" cho MONTHS.

+0

Cảm ơn thông tin hữu ích. – eg16

Các vấn đề liên quan