C# 在xamarin android中更改日期格式
当前datepicker正在将日期设置为m/d/yyyy格式的textview。但我想将日期格式从m/d/yyyy更改为dd mm yyyy。我在谷歌上搜索了这个话题,但没有找到解决办法。非常感谢您的帮助 Main.axmlC# 在xamarin android中更改日期格式,c#,android,date,xamarin,C#,Android,Date,Xamarin,当前datepicker正在将日期设置为m/d/yyyy格式的textview。但我想将日期格式从m/d/yyyy更改为dd mm yyyy。我在谷歌上搜索了这个话题,但没有找到解决办法。非常感谢您的帮助 Main.axml <TextView android:layout_weight="80" android:id="@+id/dateDisplay" android:layout_width="wrap_content"
<TextView
android:layout_weight="80"
android:id="@+id/dateDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select Date" />
<Button
android:layout_weight="10"
android:id="@+id/pickDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pick date" />
在UpdateDisplay中尝试以下操作:
在哪里显示dd-MM-yyy格式的日期时间?是否在这里:dialog.ShowFragmentManager,null;?FragmentManager的数据类型是什么?格式只是表示。DateTime结构本身没有格式。@Ian我正在textview中设置或显示它。我想表示31-04-2015date-month-yearOK中的日期,您能显示这部分代码吗?如何在textview中显示,以及传递给视图的数据类型,我的意思是…@Ian in mainactivity.cs我正在调用DatePickerFragment类和onDateset函数我正在获取年、月和日期值,这些值显示在textview中。它表示错误显示无法从字符串转换为system.IformatProviderOdd。刚刚在Xamarin.Android活动中使用了它,var test=DateTime.Now.ToStringdd MM yyyy;,编译良好,测试显示为字符串。
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Create your application here
SetContentView(Resource.Layout.Main);
dateDisplay = FindViewById<TextView> (Resource.Id.dateDisplay);
pickDate = FindViewById<Button> (Resource.Id.pickDate);
// add a click event handler to the button
pickDate.Click += delegate { ShowDatePickerDialog (); };
// get the current date
//date = DateTime.Today;
// display the current date (this method is below)
// UpdateDisplay (date);
}
void ShowDatePickerDialog()
{
var dialog = new DatePickerFragment(this, DateTime.Now, this);
dialog.Show(FragmentManager, null);
}
public void OnDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
var newDate = new DateTime(year, monthOfYear + 1, dayOfMonth);
UpdateDisplay(newDate);
}
void UpdateDisplay(DateTime selectedDate)
{
// selectedDate.GetDateTimeFormats('d');
// dateDisplay.Text = selectedDate.GetDateTimeFormats('d').ToString();
dateDisplay.Text = selectedDate.ToString("d");
}
}
public class DatePickerFragment : DialogFragment
{
private readonly Context context;
private DateTime date;
private readonly DatePickerDialog.IOnDateSetListener listener;
public DatePickerFragment(Context context, DateTime date, DatePickerDialog.IOnDateSetListener listener)
{
this.context = context;
this.date = date;
this.listener = listener;
}
public override Dialog OnCreateDialog(Bundle savedState)
{
var dialog = new DatePickerDialog(context, listener, date.Year, date.Month - 1, date.Day);
return dialog;
}
}
dateDisplay.Text = selectedDate.ToString("dd-MM-yyyy");