{"id":8282,"date":"2022-09-12T19:36:46","date_gmt":"2022-09-12T14:06:46","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/"},"modified":"2022-09-12T19:36:46","modified_gmt":"2022-09-12T14:06:46","slug":"solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/","title":{"rendered":"[Solved] How to filter data based on maximum datetime value in each day [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-25426838\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"25426838\" data-parentid=\"25422344\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>With data like:<\/p>\n<pre><code>public class Data\n{\n    public String Name\n    {\n        get;\n        set;\n    }\n\n    public DateTime TimeStamp\n    {\n        get;\n        set;\n    }\n\n    public Data(String name, DateTime timeStamp)\n    {\n        this.Name = name;\n        this.TimeStamp = timeStamp;\n    }\n\n    public override string ToString()\n    {\n        return String.Format(\"{0} at {1}\", this.Name, this.TimeStamp);\n    }\n}\n<\/code><\/pre>\n<p>You can use:<\/p>\n<pre><code>var source = new Data[]\n{\n    new Data(\"Yesterday early\", DateTime.Today.AddDays(-1)),\n    new Data(\"Yesterday middle\", DateTime.Today.AddDays(-1).AddHours(2)),\n    new Data(\"Yesterday middle\", DateTime.Today.AddDays(-1).AddHours(2)),\n    new Data(\"Yesterday late\", DateTime.Today.AddDays(-1).AddHours(3)),\n\n    new Data(\"Today early\", DateTime.Today),\n    new Data(\"Today middle\", DateTime.Today.AddHours(2)),\n    new Data(\"Today late 1\", DateTime.Today.AddHours(3)),\n    new Data(\"Today late 2\", DateTime.Today.AddHours(3)),\n\n    new Data(\"Tomorrow early\", DateTime.Today.AddDays(1)),\n    new Data(\"Tomorrow middle\", DateTime.Today.AddDays(1).AddHours(2)),\n    new Data(\"Tomorrow late 1\", DateTime.Today.AddDays(1).AddHours(3)),\n    new Data(\"Tomorrow late 2\", DateTime.Today.AddDays(1).AddHours(3)),\n};\n\n\nvar lateInDays = source.\n    GroupBy((data) =&gt; data.TimeStamp.Date).\n    Select(dayGroup =&gt;\n        new \n        {\n            DayGroup = dayGroup, \n            MaxTimeInDay = dayGroup.Max(data =&gt; data.TimeStamp)\n        }).\n    SelectMany((dayGroupWithMaxTime) =&gt;\n        dayGroupWithMaxTime.\n            DayGroup.\n            Where(data =&gt;\n                (data.TimeStamp == dayGroupWithMaxTime.MaxTimeInDay)));\n<\/code><\/pre>\n<p>This is far from optimal, but it works.<\/p>\n<p><strong>How it works:<\/strong><\/p>\n<p><strong>1.<\/strong> <code>GroupBy((data) =&gt; data.TimeStamp.Date).<\/code>  &#8211; Groups your data items by their date( for three days there is three groups)<\/p>\n<p><strong>2.<\/strong> Part:<\/p>\n<pre><code> Select(dayGroup =&gt;\n        new \n        {\n            DayGroup = dayGroup, \n            MaxTimeInDay = dayGroup.Max(data =&gt; data.TimeStamp)\n        }).\n<\/code><\/pre>\n<p>Augments each of three by-day groups with information about their maximal time in day(actually with full DateTime, so you may want to use DateTime.TimeOfDay property instead of full DateTime)<\/p>\n<p><strong>3.<\/strong> Part<\/p>\n<pre><code> SelectMany((dayGroupWithMaxTime) =&gt;\n        dayGroupWithMaxTime.\n            DayGroup.\n            Where(data =&gt;\n                (data.TimeStamp == dayGroupWithMaxTime.MaxTimeInDay)));\n<\/code><\/pre>\n<p>From each group(for each day) selects all record with maximal time in day, just simply comparing each record&#8217;s TimeStamp with maximal in day(for his current group(day)):<\/p>\n<pre><code> dayGroupWithMaxTime.\n     DayGroup.\n     Where(data =&gt;\n               (data.TimeStamp == dayGroupWithMaxTime.MaxTimeInDay))\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How to filter data based on maximum datetime value in each day [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] With data like: public class Data { public String Name { get; set; } public DateTime TimeStamp { get; set; } public Data(String name, DateTime timeStamp) { this.Name = name; this.TimeStamp = timeStamp; } public override string ToString() { return String.Format(&#8220;{0} at {1}&#8221;, this.Name, this.TimeStamp); } } You can use: var source = new &#8230; <a title=\"[Solved] How to filter data based on maximum datetime value in each day [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/\" aria-label=\"More on [Solved] How to filter data based on maximum datetime value in each day [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,783,578,2288],"class_list":["post-8282","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-datetime","tag-linq","tag-linq-to-entities"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] How to filter data based on maximum datetime value in each day [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How to filter data based on maximum datetime value in each day [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] With data like: public class Data { public String Name { get; set; } public DateTime TimeStamp { get; set; } public Data(String name, DateTime timeStamp) { this.Name = name; this.TimeStamp = timeStamp; } public override string ToString() { return String.Format(&quot;{0} at {1}&quot;, this.Name, this.TimeStamp); } } You can use: var source = new ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-12T14:06:46+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How to filter data based on maximum datetime value in each day [closed]\",\"datePublished\":\"2022-09-12T14:06:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/\"},\"wordCount\":125,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"datetime\",\"linq\",\"linq-to-entities\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/\",\"name\":\"[Solved] How to filter data based on maximum datetime value in each day [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-12T14:06:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How to filter data based on maximum datetime value in each day [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How to filter data based on maximum datetime value in each day [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How to filter data based on maximum datetime value in each day [closed] - JassWeb","og_description":"[ad_1] With data like: public class Data { public String Name { get; set; } public DateTime TimeStamp { get; set; } public Data(String name, DateTime timeStamp) { this.Name = name; this.TimeStamp = timeStamp; } public override string ToString() { return String.Format(\"{0} at {1}\", this.Name, this.TimeStamp); } } You can use: var source = new ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/","og_site_name":"JassWeb","article_published_time":"2022-09-12T14:06:46+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How to filter data based on maximum datetime value in each day [closed]","datePublished":"2022-09-12T14:06:46+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/"},"wordCount":125,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","datetime","linq","linq-to-entities"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/","name":"[Solved] How to filter data based on maximum datetime value in each day [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-12T14:06:46+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-data-based-on-maximum-datetime-value-in-each-day-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How to filter data based on maximum datetime value in each day [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/8282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=8282"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/8282\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=8282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=8282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=8282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}