2016-10-18 2 views
0

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

Код внутри метода 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 как верхний.

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

ответ

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

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

+0

Спасибо, что работа как очарование. Короткие и простые. – Ironman

+0

@ Иронман, пожалуйста, вы можете принять ответ как правильный. – mybirthname

0

Вы можете использовать метод DateTime.ParseExact. См. Примеры на странице MSDN с ссылкой.

Смежные вопросы