سؤال

ولقد كتب التطبيق asp.net واحدة من حركاتي إعادة النشر ببساطة يوفر بيانات النموذج المستخدم المقدمة إلى ديسيبل 2005 SQL. كل تدير كبيرة على الجهاز التطوير بلدي ولكن عندما نشر على الموقع مباشرة انني اتلقى مواعيد غير صالحة من وجهة نظري المدقق تاريخ تحليل.

واساسا انها تتوقع شكل التاريخ الأميركي على الجهاز الحية، ولكن ليس هذا ما أريد. يحتاج المستخدم لتكون قادرة على الدخول في DD / MM / س س س س الشكل. ولذلك فإن تاريخ صالح مثل 21/10/2009 بإرجاع الأخطاء على خادم الحية ولكن ليس على آلة ديف بلدي. وفيما يلي التعليمات البرمجية التي يطرح الاستثناء.

DateTime dt;
dt = DateTime.Parse(sdate);  
//sdate in GB dd/MM/yyyy format

هل من الممكن إجبار روتين تحليل نتوقع التاريخ في يوم / MM / س س س س الشكل؟

هل كانت مفيدة؟

المحلول

هل مثل هذا:

    System.Globalization.CultureInfo cultureinfo = 
        new System.Globalization.CultureInfo("en-gb");
    DateTime dt = DateTime.Parse("13/12/2009", cultureinfo);

نصائح أخرى

ويمكنك استخدام DateTime.ParseExact لتحديد شكل كان متوقعا.

وثمة خيار آخر هو لتحديد الثقافة التي ترغب في استخدامها في ملف web.config:

<system.web>
    ...
    <globalization 
        culture="da-DK" 
        uiCulture="da-DK" requestEncoding="utf-8" responseEncoding="utf-8"
    />
</system.web>

ونعم، سوف ParseExact فعل ذلك وفقا لما ذكره مات.

والرمز سيكون شيئا مثل:

dt  = DateTime.ParseExact(sdate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top