2017-06-23 3 views
-2

Wie formatiere ich das Datetime-Attribut in das Datumsformat dd/mm/yyy und gebe es als jsonResults zurück? Dies ist mein Code:Format datetime TT/MM/JJJJ

var alljobs = from jobs_new in db.Jobs_New 
    select new { 
     jobs_new.JobID, 
     //below code not working 
     DateReceived = jobs_new.DateReceived.GetValueOrDefault().ToString("dd/mm/yyyy") 
    }; 
+1

Mit "nicht funktioniert" meinst du es gibt nicht das richtige Datum, oder nur nicht das gewünschte Format? –

+1

"nicht funktioniert" ist keine gute Erklärung für ein Problem. Bitte lesen [MCVE] Anleitung und [bearbeiten] Beitrag, um vollständige Probe (einschließlich notwendiger Daten inline) und genaue Fehlermeldung oder erwartet/tatsächliches Ergebnis. –

+0

Obligatorische XKCD-Verknüpfung - [Iso 8601] (https://xkcd.com/1179/) –

Antwort

1

Da Ihr DateReceived scheint eine Zeichenfolge zu sein, möchten Sie zuerst DateTime.Parse() es brauchen, welche Linq to Entities nicht unterstützt. Also könnte man einfach alles lädt zuerst tut dann die Umwandlung danach:

var alljobs = (from jobs_new in db.Jobs_New).ToList(); 

var alljobsWithDate = from alljobs 
      select new { 
       jobs_new.JobID, 
       DateReceived = string.IsNullOrEmpty(jobs_new.DateReceived.GetValueOrDefault()) ? null : DateTime.Parse(jobs_new.DateReceived.GetValueOrDefault().ToString("dd/MM/yyyy") 
      }; 

Sie etwas anderes passieren könnte, wenn das Datum ist noch leer oder null, bei ? "if date is empty" :

0

try-Code:

var alljobs = (from jobs_new in db.Jobs_New.AsEnumerable() 
    select new{ 
     jobs_new.JobID, 
     DateReceived = jobs_new.DateReceived==null?"":jobs_new.DateReceived.ToString("dd/mm/yyyy") 
    }).ToList(); 

Eine andere Lösung, die Sie verwendet haben Globalisierungskultur

Web.Config Schreiben

<system.web> 
<globalization culture="en-GB"/> 
<system.web>