Изменить DateFomat в C # Xamarin

#c# #date #xamarin #xamarin.android #date-format

#c# #Дата #xamarin #xamarin.android #дата-формат

Вопрос:

Я работаю над Xamarin с Android. И я использую DatePicker его в своем проекте.Код приведен ниже.

Код внутри OnCreate метода.

 protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Activity_register);

            tiebirthdate = FindViewById<TextInputEditText>(Resource.Id.tiebirthdate);
            tiebirthdate.Click  = DateSelect_OnClick;

       }


void DateSelect_OnClick(object sender, EventArgs e)
        {
            DatePickerFragment frag = DatePickerFragment.NewInstance(delegate (DateTime time)
            {

                var dateAndTime = time;

                var tt = dateAndTime.Date;
                tiebirthdate.Text = tt.ToString("dd/MM/yyyy");

            });
            frag.Show(FragmentManager, DatePickerFragment.TAG);
        }
  

Создайте класс.

 class DatePickerFragment : DialogFragment,
                                  DatePickerDialog.IOnDateSetListener
    {
        public static readonly string TAG = "X:"   typeof(DatePickerFragment).Name.ToUpper();

        // Initialize this value to prevent NullReferenceExceptions.
        Action<DateTime> _dateSelectedHandler = delegate { };

        public static DatePickerFragment NewInstance(Action<DateTime> onDateSelected)
        {
            DatePickerFragment frag = new DatePickerFragment();
            frag._dateSelectedHandler = onDateSelected;
            return frag;
        }

        public override Dialog OnCreateDialog(Bundle savedInstanceState)
        {
            DateTime currently = DateTime.Now;
            DatePickerDialog dialog = new DatePickerDialog(Activity,
                                                           this,
                                                           currently.Year,
                                                           currently.Month,
                                                           currently.Day);
            return dialog;
        }

        public void OnDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
        {
            DateTime selectedDate = new DateTime(year, monthOfYear   1, dayOfMonth);

            _dateSelectedHandler(selectedDate);

        }
    }
  

После того, как я, наконец, попробовал, я установил DateTime такой формат "dd/MM/yyyy" . Но моему серверу требуется формат даты, подобный этому "yyyy-MM-dd'T'HH:mm:ss'Z'" . Итак, как изменить DateTime формат, подобный upper.

Любая помощь будет оценена.

Ответ №1:

 tiebirthdate.Text = dateAndTime.ToString("yyyy-MM-dd'T'HH:mm:ss'Z'", CultureInfo.InvariantCulture);
  

Вы можете попробовать этот способ.

Комментарии:

1. @Ironman добро пожаловать, вы можете принять ответ как правильный.

Ответ №2:

Вы можете использовать DateTime.Метод синтаксического анализа. Смотрите примеры на странице, на которую ссылается MSDN.