Tôi có hộp văn bản asp là nơi người dùng sẽ chỉ điền giá trị năm, Đối với giá trị này tôi có Thuộc tính loại ngày giờ trong cột ứng dụng và cột ngày trong DB. Vì vậy, tôi muốn chuyển đổi txtYear.Text thành DateTime Nhưng nó sẽ chỉ giữ và/hoặc hiển thị năm. Xin hãy giúp tôi trong tình huống này.làm cách nào tôi có thể chỉ gán năm cho biết năm 2011 trong biến datetime trong C#
Trả lời
Một DateTime đối tượng sẽ luôn luôn giữ một giá trị DateTime hoàn tất, bạn không thể sử dụng nó để lưu trữ một năm mà thôi. (những gì sử dụng sẽ được anyway?) Bên cạnh đó, các kiểu dữ liệu của một "năm" là int, không DateTime.
Vì vậy, tôi muốn đề xuất thay đổi thuộc tính của bạn thành kiểu dữ liệu int, cả trong mã và cơ sở dữ liệu của bạn.
Thnx Nico, tôi sẽ thay đổi loại cả trong app ans db – Pankouri
Bạn được chào đón! –
Để chỉ hiển thị năm sử dụng định dạng "yyyy".
string s = "2011";
DateTime d = new DateTime(int.Parse(s), 1, 1);
Console.WriteLine(d.ToString("yyyy"));
Console.WriteLine(d);
Cảm ơn giải pháp Bypass này. – Pankouri
Bạn cần phải xác định định dạng của giá trị DateTime
bạn đang thao tác:
String dateTimeFormat = "yyyy";
Để chỉ hiển thị một phần của giá trị DateTime
sử dụng như sau:
dateTimeValue.ToString(dateTimeFormat);
Để đọc một giá trị String
đại diện cho một năm thành một số DateTime
sử dụng các mục sau:
DateTime.ParseExact(stringValue, dateTimeFormat, CultureInfo.InvariantCulture);
DateTime.ParseExact Method (String, String, IFormatProvider) chuyển đổi chuỗi đại diện theo quy định của một ngày và thời gian để DateTime tương đương của nó bằng cách sử dụng định dạng cụ thể và thông tin định dạng văn hóa cụ thể. Định dạng của biểu diễn chuỗi phải khớp chính xác với định dạng được chỉ định.
DateTime.ToString Method chuyển đổi giá trị của đối tượng DateTime hiện tại thành biểu diễn chuỗi tương đương.
Thay vì áp dụng bất kỳ chức năng thao tác chuỗi nào, hãy sử dụng thuộc tính Năm. Kiểm tra tài liệu trên msdn bằng cách truy cập vào liên kết bên dưới.
Nếu bạn muốn chỉ một năm, tại sao bạn không làm cho nó thuộc loại smallint
?
Dù sao nếu bạn thực sự muốn làm cho nó một năm,
DateTime x = new DateTime(Convert.ToInt32(txtYear.text), 1, 1);
Nhưng chắc chắn rằng bạn xác nhận rằng txtYear.text
thực sự không có một năm hợp lệ.
tôi giả định tên hộp văn bản là txYear
DateTime dt = new DateTime (Convert.ToInt32(txYear.text),1,1)
lưu giá trị dt này trong cơ sở dữ liệu
thanx cho giải pháp Bypass này, tôi đã tìm kiếm điều này. nhưng từ tất cả các câu trả lời tôi đi đến kết luận rằng tôi nên thay đổi loại thành int hoặc smallint, đó là thuận tiện hơn để đối phó với. – Pankouri
:) có sử dụng như số nguyên là ý tưởng tốt hơn, nhưng khi u sử dụng loại datetime bạn có thể sử dụng hàm dựng sẵn sql để thao tác datetime – DeveloperX
Một DateTime luôn có một thành phần ngày đầy đủ. Khi bạn tạo cá thể DateTime, bạn sẽ cần chỉ định một tháng và một ngày, nhưng bạn có thể bỏ qua chúng trong việc sử dụng của bạn.
DateTime d = new DateTime(int.Parse(txtYear.Text, 1, 1);
txtYear.Text = d.ToString("yyyy");
Thậm chí tốt hơn không nên sử dụng DateTime mà chỉ sử dụng int. Nếu bạn chỉ có một năm, bạn chỉ cần một int.
- 1. Tuần trong năm C# Datetime
- 2. Cập nhật năm trong biến datetime
- 3. khung web java trong năm 2011
- 4. MYSQL - Thay đổi năm ngày 2020-2011
- 5. Làm thế nào tôi có thể giải quyết đa thức bậc năm trong C++
- 6. Django: Lọc trường datetime theo * chỉ * giá trị năm?
- 7. Tôi làm cách nào để nhóm theo tháng và năm khi chỉ có trường ngày giờ?
- 8. Nhận năm và tuần trong năm từ ngày PHP() khi tuần kéo dài hai năm
- 9. Làm cách nào để có được ngày của năm đầu tiên của năm với SQL?
- 10. Làm thế nào để in năm tiếp theo từ năm hiện tại trong Python
- 11. Rails 3 date_select cho năm chỉ
- 12. Có cần thiết phải thay thế các khối xây dựng mẫu mặc định năm 2009 bằng những năm 2011?
- 13. Lỗi công việc "Lỗi con trỏ không hợp lệ" năm 2011 của CRM 2011
- 14. Loại thông số cho năm
- 15. Có nội tuyến-nếu có gán (điều kiện ba năm) trong bash không?
- 16. Năm thả xuống PHP populating năm - cách chọn năm hiện tại
- 17. Làm cách nào để buộc Excel tự động điền vào năm trước trong cột thay vì năm hiện tại?
- 18. Làm thế nào để tôi nhận được ngày hôm nay trong một năm trước trong C#?
- 19. năm increment Auto trong vòng lặp mỗi năm
- 20. Làm cách nào để tính ngày trong năm cho một ngày cụ thể trong Mục tiêu-C?
- 21. .NET có cho tôi số tuần sai trong ngày 29 tháng 12 năm 2008 không?
- 22. Làm cách nào để nhận được số ngày trong tháng cho tháng và năm cụ thể?
- 23. DATEPART (năm, ...) so với năm (...)
- 24. Câu hỏi đơn giản: Cách chia ngày (08-17-2011) thành tháng, ngày, năm? PHP
- 25. Java Mili giây trong năm
- 26. SelectList cho năm
- 27. Django - Cần các trường ngày giờ có thể chỉ xử lý các giá trị năm, hoặc năm và tháng
- 28. Làm thế nào tôi có thể định dạng 07/03/2012 đến ngày 07 tháng 3 năm 2012 trong C#
- 29. Làm cách nào để lấy số tháng từ số năm và số tuần trong C#?
- 30. Tôi muốn điền năm năm vào danh sách thả xuống bằng javascript và các năm sẽ sau năm hiện tại
Khi bạn chỉ cần một năm tại sao lưu trữ nó là 'DateTime' ở tất cả – V4Vendetta
@ V4Vendetta Bạn có thể có thuộc tính' DateTime' trong Mô hình của mình trong khi bạn chỉ muốn hiển thị phần năm của nó trong ViewModel. – mok