تبدیل تاریخ

هادی علیزاده

عضویت : 1397/06/25 پرسش ها : 43 پاسخ ها : 39

تبدیل تاریخ

ارسال شده در : ‫۱ ماه قبل، سه شنبه ۲۹ بهمن ۱۳۹۸، ساعت ۱۲:۰۷

استاد باقرزاده ی عزیز، سلام؛

برای تبدیل تاریخ در xaml از کد زیر استفاده کردم:

<TextBox Grid.Row="2" Grid.Column="1" Name="txtDOB">
            <Binding Path="DateOfBirth" ConverterCulture="fa" StringFormat="{}{0:dddd dd MMMM yyyy}">
                <Binding.ValidationRules>
                    <validate:DateValidator ValidatesOnTargetUpdated="True"/>
                </Binding.ValidationRules>
            </Binding>
        </TextBox>

از یک validator هم برای کنترل تاریخ استفاده کردم:

public class DateValidator:ValidationRule
    {
        public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            if (DateTime.TryParse((string)value?.ToString(),out DateTime date))
                return ValidationResult.ValidResult;
            
            return new ValidationResult(false,"تاریخ را به صورت صحیح وارد کنید");
        }
    }

مشکل خاصی وجود نداره، تاریخ رو به صورت درست ذخیره میکنه و درست برمیگردونه!

مشکل اینجاست که برای بعضی تاریخ ها خطا میده. مثلا «1398/11/29» رو به عنوان تاریخ نمیشناسه.

میشه لطفا راهنمایی بفرمایید.

سجاد باقرزاده

عضویت : 1396/09/12 پرسش ها : 0 پاسخ ها : 92
ارسال شده در :‫۱ ماه قبل، چهار شنبه ۳۰ بهمن ۱۳۹۸، ساعت ۰۸:۴۴

سلام

اینجا شما اعتبارسنجی انجام دادید و تنها Culture رو تغییر دادید. آیا از PersianCulture  در پروژه استفاده کردید؟

می توانید از کلاس PersianCalender برای تبدیل تاریخ میلادی به شمسی استفاده کنید ولی باید کلاس Convertor مخصوص این تبدیل را بسازید، که این کار را انجام دهد.

0 تشکر

برای ارسال پاسخ باید وارد شوید و یا در سایت عضو شوید