สร้างขึ้นในรูปแบบวันที่-เวลาของฟิลด์

การคอมไพล์ coe ต่อไปนี้มักจะได้รับข้อผิดพลาดที่น่าหงุดหงิดเหมือนเดิมเสมอ ฉันกำลังพยายามเปรียบเทียบฟิลด์ "createdon" กับวันที่ปัจจุบัน ฉันลองใช้รูปแบบวันที่หลายรูปแบบแล้ว แต่ก็ยังใช้งานไม่ได้...

รายละเอียดข้อผิดพลาด : "รูปแบบวันที่-เวลาสำหรับ 23/05/2012 14:01:55 ไม่ถูกต้อง"

ข้อมูลโค้ด:

DateTime d = DateTime.Now;
                String.Format("{0:dd/MM/YYYY HH:mm:ss}", d);

                FetchExpression fetch = new FetchExpression(@"
                    <fetch distinct='false' mapping='logical'>
                      <entity name='" + context.PrimaryEntityName + "'><filter type='and'><condition attribute='createdon' value='" + d + "' operator='ne'></condition></filter><link-entity name='new_contrats' alias='nombreligne' from='new_contratsid' to='new_contratsid'><filter type='and'><condition attribute='new_contratsid' value='" + contrats.Id + "' operator='eq'></condition></filter></link-entity></entity></fetch>");

ความช่วยเหลือใด ๆ จะดีมาก!


person MademoiselleLenore    schedule 23.05.2012    source แหล่งที่มา
comment
ฉันคิดว่าค่าถูกเก็บไว้ใน UTC และบางทีคุณอาจต้องแปลง DateTime ของคุณเป็นโดยใช้ .ToUniversal() หรือ .UtcNow() หรือคุณควรลองใช้รูปแบบ datetime ที่จัดเรียงได้ yyyy-MM-ddTHH:mm:ss   -  person V4Vendetta    schedule 23.05.2012
comment
+1 สำหรับ yyyy-MM-ddThh:mm:ss... นั่นคือสิ่งที่ฉันใช้   -  person John Hoven    schedule 23.05.2012
comment
ขอบคุณทั้งสองสำหรับคำตอบของคุณ ฉันได้ลองแล้ว .ToUniversal() และ .UtcNow() เพิ่งลองใช้รูปแบบวันที่และเวลาที่จัดเรียงได้ แต่ก็ยังไม่มีผลลัพธ์!   -  person MademoiselleLenore    schedule 23.05.2012


คำตอบ (2)


การโพสต์บล็อกที่นี่อาจช่วยได้ โดยพื้นฐานแล้ว รูปแบบ UTC แต่การชดเชยภายในเครื่องของผู้ใช้ต้นทางอาจส่งผลต่อค่าที่ซ่อนอยู่ในฐานข้อมูล

person Greg Owens    schedule 23.05.2012
comment
สวัสดีเกร็ก ขอบคุณสำหรับคำตอบของคุณ ปัญหาของผมคือเปลี่ยนโอเปอเรเตอร์ไม่ได้และยังหารูปแบบที่ต้องการไม่เจอ !! - person MademoiselleLenore; 23.05.2012
comment
ดังนั้นหากคุณใช้รูปแบบ UTC คุณยังคงได้รับข้อผิดพลาด The date-time format for <some-date> is invalid ? - person Greg Owens; 23.05.2012
comment
ใช่ แต่ฉันสังเกตเห็นว่าเวลาที่ระบุในข้อความแสดงข้อผิดพลาดและเวลาจริงมีความแตกต่างกันสองชั่วโมง... - person MademoiselleLenore; 23.05.2012
comment
ความแตกต่างของเวลาจะเกิดจากการชดเชยระหว่าง UTC และเวลาท้องถิ่นของคุณ ฉันคิดว่าคุณอยู่ในฝรั่งเศส ดังนั้นค่าชดเชยปัจจุบันที่สถานที่นั้นจึงคิดเป็น 2 ชั่วโมง - person Greg Owens; 23.05.2012
comment
และฉันไม่เข้าใจว่าคุณได้รับข้อผิดพลาดด้านรูปแบบอย่างไร คุณสามารถวาง (ในคำถามเดิมของคุณ) การอัปเดตด้วย FetchXml แบบเต็มของคุณตามที่สร้างโดยโค้ดของคุณ ก่อนที่จะดำเนินการได้หรือไม่ - person Greg Owens; 23.05.2012
comment
โอ้พระเจ้าในที่สุดมันก็ใช้งานได้...แบบนี้: DateTime d = DateTime.Now; var ตอนนี้ = String.Format({0:yyyy-MM-ddTHH:mm:ss},d); แล้วใช้ now ใน fetchXml...งี่เง่านะ... - person MademoiselleLenore; 23.05.2012

อาจทำงานได้ง่ายกว่าใน Linq ถึง CRM หรือ Query Expressions แทนที่จะใช้ Fetch XML คุณไม่ต้องกังวลกับการจัดรูปแบบเนื่องจากคุณกำลังทำงานกับวัตถุ

person Daryl    schedule 24.05.2012
comment
สวัสดีแดริล! ฉันรู้สึกไม่ค่อยสบายใจกับ Linq to CRM หรือ Query expression msdn เป็นวิธีที่ดีในการเริ่มต้นหรือไม่? หรือคุณช่วยแนะนำเว็บไซต์หรือหนังสือดีๆ ให้ฉันหน่อยได้ไหม? ขอบคุณ ! - person MademoiselleLenore; 24.05.2012
comment
SDK มีตัวอย่างมากมาย หากคุณยังไม่รู้จัก linq ฉันจะเน้นที่นิพจน์คิวรี คำสั่ง linq ได้รับการแปลเป็น QE อยู่แล้ว และการใช้งาน CRM ของผู้ให้บริการ linq ก็มี gotchas อยู่บ้าง - person Daryl; 24.05.2012
comment
ขอบคุณแดริล! ฉันจะเริ่มต้นด้วยนิพจน์แบบสอบถามแล้ว ! - person MademoiselleLenore; 24.05.2012