package com.mfh.comna.select_time; import android.app.Activity; import android.app.DatePickerDialog; import android.app.TimePickerDialog; import android.content.DialogInterface; import android.widget.AbsSpinner; import android.widget.ArrayAdapter; import android.widget.DatePicker; import android.widget.Spinner; import android.widget.TextView; import android.widget.TimePicker; import com.mfh.comn.bean.TimeCursor; import com.mfh.comna.view.widget.SimpleHorizontalField; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; /**关于时间的工具类 * Created by 李潇阳 on 14-8-1. */ public class TimeUtil { private static String dateStr; /** * 需要选择时间的时候就调用这个方法,精确到分 * @param that 用来传Activity * @param tv 接受控件 * created by cj */ public static void setDate(Activity that, final SimpleHorizontalField tv){ Calendar c = Calendar.getInstance(); c.setTimeInMillis(System.currentTimeMillis()); int mYear = c.get(Calendar.YEAR); int mMonth = c.get(Calendar.MONTH); int mDay = c.get(Calendar.DAY_OF_MONTH); int mHour = c.get(Calendar.HOUR_OF_DAY); int mMinute = c.get(Calendar.MINUTE); final MyTimePickerDialog timePickerDialog = new MyTimePickerDialog(that, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { String sHour; String sMinute; if(hourOfDay < 10) { sHour = "0" + hourOfDay; }else { sHour = hourOfDay + ""; } if(minute < 10) { sMinute = "0" + minute; }else { sMinute = minute + ""; } String time = sHour + ":" + sMinute; tv.setValue(dateStr + time); } }, mHour, mMinute, true); MyDatePickerDialog datePickerDialog = new MyDatePickerDialog(that, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { dateStr = year + "-" + (monthOfYear+1) + "-" + dayOfMonth + " "; timePickerDialog.show(); } }, mYear, mMonth, mDay); datePickerDialog.show(); } /** * 需要选择时间的时候就调用这个方法,精确到分 * @param that 用来传Activity * @param tv 接受控件 * created by cj */ public static void setDate(Activity that, final TextView tv){ Calendar c = Calendar.getInstance(); c.setTimeInMillis(System.currentTimeMillis()); int mYear = c.get(Calendar.YEAR); int mMonth = c.get(Calendar.MONTH); int mDay = c.get(Calendar.DAY_OF_MONTH); int mHour = c.get(Calendar.HOUR_OF_DAY); int mMinute = c.get(Calendar.MINUTE); final MyTimePickerDialog timePickerDialog = new MyTimePickerDialog(that, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { String sHour; String sMinute; if(hourOfDay < 10) { sHour = "0" + hourOfDay; }else { sHour = hourOfDay + ""; } if(minute < 10) { sMinute = "0" + minute; }else { sMinute = minute + ""; } String time = sHour + ":" + sMinute; tv.setText(dateStr + time); } }, mHour, mMinute, true); MyDatePickerDialog datePickerDialog = new MyDatePickerDialog(that, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { dateStr = year + "-" + (monthOfYear+1) + "-" + dayOfMonth + " "; timePickerDialog.show(); } }, mYear, mMonth, mDay); datePickerDialog.show(); } public static void getTime(Activity that, final TextView textView) { Calendar c = Calendar.getInstance(); c.setTimeInMillis(System.currentTimeMillis()); int mDay = c.get(Calendar.DAY_OF_MONTH); int mHour = c.get(Calendar.HOUR_OF_DAY); int mMinute = c.get(Calendar.MINUTE); MyTimePickerDialog timePickerDialog = new MyTimePickerDialog(that, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { String sHour; String sMinute; if(hourOfDay < 10) { sHour = "0" + hourOfDay; }else { sHour = hourOfDay + ""; } if(minute < 10) { sMinute = "0" + minute; }else { sMinute = minute + ""; } String time = sHour + ":" + sMinute; textView.setText(time); } }, mHour, mMinute, true); } /** * 需要选择时间的时候就调用这个方法,精确到分 * @param that 用来传Activity * @param sp 接受控件 * created by cj */ public static void setTime(final Activity that, final Spinner sp){ Calendar c = Calendar.getInstance(); c.setTimeInMillis(System.currentTimeMillis()); int mHour = c.get(Calendar.HOUR_OF_DAY); int mMinute = c.get(Calendar.MINUTE); final MyTimePickerDialog timePickerDialog = new MyTimePickerDialog(that, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { String sHour; String sMinute; if(hourOfDay < 10) { sHour = "0" + hourOfDay; }else { sHour = hourOfDay + ""; } if(minute < 10) { sMinute = "0" + minute; }else { sMinute = minute + ""; } String time = sHour + ":" + sMinute; List<String> adapter = new ArrayList<String>(); adapter.add(time); sp.setAdapter(new ArrayAdapter<String>(that, android.R.layout.simple_spinner_dropdown_item, adapter)); } }, mHour, mMinute, true); timePickerDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }); timePickerDialog.show(); } public static void setDate(final Activity that, final AbsSpinner sp) { Calendar c = Calendar.getInstance(); c.setTimeInMillis(System.currentTimeMillis()); int mYear = c.get(Calendar.YEAR); int mMonth = c.get(Calendar.MONTH); int mDay = c.get(Calendar.DAY_OF_MONTH); MyDatePickerDialog datePickerDialog = new MyDatePickerDialog(that, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { dateStr = year + "-" + (monthOfYear+1) + "-" + dayOfMonth + " "; List<String> adapter = new ArrayList<String>(); adapter.add(dateStr); sp.setAdapter(new ArrayAdapter<String>(that, android.R.layout.simple_spinner_dropdown_item, adapter)); } }, mYear, mMonth, mDay); datePickerDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }); datePickerDialog.show(); } public static MyDatePickerDialog getDateDialog(final Activity that, final Spinner sp){ Calendar c = Calendar.getInstance(); c.setTimeInMillis(System.currentTimeMillis()); int mYear = c.get(Calendar.YEAR); int mMonth = c.get(Calendar.MONTH); int mDay = c.get(Calendar.DAY_OF_MONTH); MyDatePickerDialog datePickerDialog = new MyDatePickerDialog(that, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { dateStr = year + "-" + (monthOfYear+1) + "-" + dayOfMonth + " "; List<String> adapter = new ArrayList<String>(); adapter.add(dateStr); sp.setAdapter(new ArrayAdapter<String>(that, android.R.layout.simple_spinner_dropdown_item, adapter)); } }, mYear, mMonth, mDay); datePickerDialog.show(); return datePickerDialog; } public static String monthBefore(Date date) { return new SimpleDateFormat(TimeCursor.INNER_DATAFORMAT).format(date.getTime() + 1000 * 60 * 60 * 24 * 30); } }