मेरे पास डेटटाइम का डेटा कॉलम है, मैं जानना चाहता हूं कि मेरे पास केवल जल्द ही तिथि (मिनट) और बाद की तारीख (अधिकतम) हो सकती है।डेटाटाइम के डेटाकॉलम में अधिकतम कैसे खोजें?
धन्यवाद
मेरे पास डेटटाइम का डेटा कॉलम है, मैं जानना चाहता हूं कि मेरे पास केवल जल्द ही तिथि (मिनट) और बाद की तारीख (अधिकतम) हो सकती है।डेटाटाइम के डेटाकॉलम में अधिकतम कैसे खोजें?
धन्यवाद
यह देना होगा कि आप क्या देख रहे हैं:
:// Initial Code for Testing
DataTable dt = new DataTable();
dt.Columns.Add("Dates", typeof(DateTime));
dt.Rows.Add(new object[] { DateTime.Now });
dt.Rows.Add(new object[] { DateTime.Now.AddDays(1) });
dt.Rows.Add(new object[] { DateTime.Now.AddDays(2) });
इस कोड को आप का प्रयोग करेंगे है
आपका दृष्टिकोण सर्वोत्तम दिखता है :) –
बस अपने DataColumn से दिनांक समय की एक सूची पुनर्प्राप्त, अपने DataColumn में Foreach पंक्ति दिनांक समय की अपनी सूची में वर्तमान तत्व जोड़।
List<DateTime>
और Sort
विधि का उपयोग करें, तो पहले और अंतिम मान प्राप्त करें। , अपने ढांचा संस्करण की
निर्भर करता है ऊपर 2.0
उपयोग के लिए >=3.5
आप Max
और Min
या LINQ .OrderByDesc(p => p.X).FirstOrDefault();
के साथ अपने दिनांक समय सूची पर उपयोग कर सकते हैं के लिए
एक बार आपके पास सूची <> हो सकता है आप मैक्स() और न्यूनतम() का उपयोग भी कर सकते हैं। लेकिन मुझे लगता है कि यह सूची प्राप्त करने के बारे में है। –
@ हेनक, आप उन तरीकों को कहां पाते हैं? अधिकतम() और न्यूनतम()। –
लिंक-टू-ऑब्जेक्ट्स –
DataTable dt = new DataTable("MyDataTable");
DataColumn dc = new DataColumn("DateColumn");
dc.DataType = typeof(DateTime);
dt.Columns.Add(dc);
for (int i = 0; i <= 5; i++)
{
DataRow newRow = dt.NewRow();
newRow[0] = DateTime.Now.AddDays(i);
dt.Rows.Add(newRow);
}
DateTime maxDate =
Convert.ToDateTime(
((from DataRow dr in dt.Rows
orderby Convert.ToDateTime(dr["DateColumn"]) descending
select dr).FirstOrDefault()["DateColumn"]
)
);
DateTime minDate =
Convert.ToDateTime(
((from DataRow dr in dt.Rows
orderby Convert.ToDateTime(dr["DateColumn"]) ascending
select dr).FirstOrDefault()["DateColumn"]
)
);
object maxDate = dataTable.Compute("MAX(TheDateColumnName)", null);
object minDate = dataTable.Compute("MIN(TheDateColumnName)", null);
केली से जवाब देने के लिए जोड़ने के लिए, यह आसान नहीं है करने के लिए सिर्फ कार्य करें:
var first = tbl.AsEnumerable()
.Max(r => r.Field<DateTime>(col.ColumnName));
और
var first = tbl.AsEnumerable()
.Min(r => r.Field<DateTime>(col.ColumnName));
बस एक DataColumn? क्या यह डेटाटेबल या कुछ से जुड़ा हुआ है? –