2010-10-25 36 views
5

Tôi muốn hiển thị tên tháng trước đó. Mã của tôi được đưa ra dưới đây nhưng nó sẽ hiển thị chỉ số của tháng đó. Tôi muốn tên của tháng đó. Theo mã đã cho, nó sẽ làm mờ đầu công cụ là "Số dư tối đa 9", nhưng tôi muốn hiển thị "Số dư đến tháng 9". Làm cách nào lấy tên của tháng đó?Cách hiển thị động tên tháng trước

lblPreviousBalance.ToolTip = "Balance up to " + (DateTime.Now.Month - 1); 

Trả lời

19

Sau đây nên làm việc cho bạn:

string previousMonth = DateTime.Now.AddMonths(-1).ToString("MMMM"); 

Nếu bạn muốn nó bằng một ngôn ngữ cụ thể, bạn có thể vượt qua một đối tượng CultureInfo đến phương pháp:

string prevMonthInFrench = DateTime.Now.AddMonths(-1).ToString("MMMM", CultureInfo.GetCultureInfo("fr-FR")); 

Đối với nhiều lựa chọn hơn bạn có thể kiểm tra bài viết Custom Date and Time Format Strings tại MSDN.

+0

CultureInfo là gì. Là tên biến hay cái gì khác. Nếu tôi sử dụng mã trên thì nó sẽ gây ra lỗi khi CultureInfo không thoát trong ngữ cảnh hiện tại. – Shalni

+1

@Shalni: thêm 'using System.Globalization;' vào các chỉ thị sử dụng ở đầu tệp của bạn. Trong ngắn 'CultureInfo' là một lớp đại diện cho một ngôn ngữ và khu vực. Thông tin thêm tại đây: [CultureInfo] (http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx) –

0

Chỉ cần thêm vào câu trả lời của @Fredrik Mörk, Bạn có thể chỉ định Định dạng mà không cần gọi phương thức ToString(). tức là bên cạnh việc thực hiện điều này:

yourDate.ToString("MMMM") 

bạn cũng có thể làm:

yourDate:MMMM 

Cách sử dụng:

$"Balance Up to {DateTime.Now.AddMonths(-1):MMMM}" 
Các vấn đề liên quan