2012-06-21 23 views

Trả lời

0

tuy nhiên bạn muốn! Ý tôi là, một chuỗi, nhưng ngoài ra các lựa chọn của bạn là vô hạn. Nếu bạn muốn, bạn có thể lưu trữ nó như là một cuốn sách của trẻ em về một ngày. Chỉ cần phân tích nó ở bất cứ đâu bạn cần sử dụng nó. Nhưng tôi khuyên bạn nên xem xét DateTime.ToLongDateString trong mã C# ở đâu đó, học mẫu đó và lưu trữ nó như thế.

3

Không chắc chắn Nếu tôi hiểu đầy đủ câu hỏi của bạn. Tôi nghĩ rằng bạn muốn:

Bạn có thể xác định ngày trong bạn app.config trong appSettings phần:

<appSettings> 
    <add key="DateX" value="21/06/2012"/> 
</appSettings> 

Và lấy AppSettings nhập bằng cách làm một cái gì đó tương tự như sau:

Datetime dateX; 
System.Configuration.Configuration rootWebConfig1 = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null); 
if (rootWebConfig1.AppSettings.Settings.Count > 0) 
{ 
     System.Configuration.KeyValueConfigurationElement customSetting =  rootWebConfig1.AppSettings.Settings["DateX"]; 
     if (customSetting != null) 
     { 
      dateX = Datetime.Parse(customSetting.Value); 
     } 
} 

Bạn có thể kiểm tra MSDN link này để được trợ giúp thêm.

3

Thật dễ dàng để sử dụng Cài đặt trong Visual Studio. Đơn giản chỉ cần thêm cài đặt bằng cách mở các thuộc tính cho dự án của bạn sau đó đi đến Settings và nhấp vào "Dự án không chứa tệp cài đặt mặc định. Nhấp vào đây để tạo tệp.".

Chuyển đến Cài đặt và thêm Ngày giờ và xác định date của bạn. enter image description here

Để truy cập Cài đặt trong mã, bạn chỉ cần thực hiện việc này.

DateTime myDate = Properties.Settings.Default.MyDate;

1

Giả sử bạn đang đề cập đến các yếu tố <appSettings> sau đó bạn ngắn-of-may mắn ban đầu: mỗi phím được kết hợp với một giá trị chuỗi.

Vì vậy, bạn có thể thấy bạn chỉ cần tuần tự hóa giá trị DateTime thành chuỗi và sau đó phân tích cú pháp ngược lại khi bạn đọc lại.

Nếu bạn không quan tâm đến app.config của bạn đang được chỉnh sửa bởi con người trong notepad, sau đó tôi muốn lưu trữ 64-bit ticks giá trị như là một chuỗi số nguyên:

ConfigurationManager.AppSettings["date"] = myDateTime.Ticks.ToString(CultureInfo.InvariantCulture);

đọc nó trở lại bằng cách làm này:

Int64 ticks = Int64.Parse(ConfigurationManager.AppSettings["date"], NumberStyles.Integer, CultureInfo.InvariantCulture); 
DateTime myDateTime = new DateTime(ticks); 

Tuy nhiên nếu bạn muốn làm cho nó con người có thể đọc được sau đó sử dụng tùy chọn khứ hồi:

// Serialise 
ConfigurationManager.AppSettings["date"] = myDateTime.ToString("o"); // "o" is "roundtrip" 
// Deserialise 
DateTime myDateTime = DateTime.Parse(ConfigurationManager.AppSettings["date"], NumberStyles.Integer, CultureInfo.InvariantCulture)); 

Một vài lưu ý:

  • Mã của tôi là cố vấn và thô. Trong thực tế, bạn sẽ đảm bảo tất cả các cá thể DateTime đều có trong UTC trước và sau đó áp dụng một khoảng thời gian bù giờ nếu cần thiết.
  • Bạn sẽ kiểm tra xem AppSettings có chứa khóa có tên là "date" trước hay không và nếu không trả lại câu trả lời mặc định hoặc không tương đương.
  • Bạn cũng nên tránh.Phương pháp phân tích cú pháp và sử dụng TryParse thay thế và xử lý các điều kiện lỗi thích hợp cho ứng dụng của bạn.
11

Store giá trị trong tập tin cấu hình:

<appSettings> 
    <add key="DateKey" value="2012-06-21" /> 
</appSettings> 

Sau đó, để lấy giá trị mà bạn van sử dụng:

var value = ConfigurationSettings.AppSettings["DateKey"]; 

var appDate = DateTime.Parse(value); 
+1

Điều gì về Văn hóa: en-US, es-ES, v.v ...? – Kiquenet

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