android星期
1. android 根據傳的日期參數,日期格式yyyy-mm-dd,獲取此日期是星期幾
你寫錯了
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
後面的參數是格式化日期定義個格式而不是日期
2. android有獲取當前星期幾的系統方法嗎還是得自己寫一個根據年月日計算星期幾的詳細方法,謝謝
**
* 判斷當前日期是星期幾
*
* @param pTime 設置的需要判斷的時間 //格式如2012-09-08
*
* @return dayForWeek 判斷結果
* @Exception 發生異常
*/
// String pTime = "2012-03-12";
private String getWeek(String pTime) {
String Week = "";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
try {
c.setTime(format.parse(pTime));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (c.get(Calendar.DAY_OF_WEEK) == 1) {
Week += "天";
}
if (c.get(Calendar.DAY_OF_WEEK) == 2) {
Week += "一";
}
if (c.get(Calendar.DAY_OF_WEEK) == 3) {
Week += "二";
}
if (c.get(Calendar.DAY_OF_WEEK) == 4) {
Week += "三";
}
if (c.get(Calendar.DAY_OF_WEEK) == 5) {
Week += "四";
}
if (c.get(Calendar.DAY_OF_WEEK) == 6) {
Week += "五";
}
if (c.get(Calendar.DAY_OF_WEEK) == 7) {
Week += "六";
}
return Week;
}
3. android CalendarView 如何使用
在Android平台3.0中才新增了日歷視圖控制項,可以顯示網格狀的日歷內容,那麼對於3.0以下的版本要使用日歷控制項只能藉助第三方,目前用的最多的是CalendarView。
android.widget.CalendarView是從android.widget.FrameLayout中繼承。
CalendarView 類提供了基本的日歷設置方法:
long getDate() 獲取從1970年,1月1日,0點0分0秒到現在的毫秒數,因為返回是long型最終只能截止到2038年
int getFirstDayOfWeek() //獲取當天是本周的第幾天,Android123提示返回的定義在java.util.Calendar類中,比如Calendar.Monday為星期一,定義值為2。
long getMaxDate() //獲取CalendarView支持1970年到那天的最大天數
long getMinDate() //獲取CalendarView支持1970年到那天的最小天數
boolean getShowWeekNumber() //獲取是否顯示星期號
boolean isEnabled() //是否顯示本日歷視圖
public void setDate (long date, boolean animate, boolean center) //設置選擇日期到1970年的描述
void setDate(long date) //設置選擇的日期描述到1970年
void setEnabled(boolean enabled) //設置是否啟用視圖
void setFirstDayOfWeek(int firstDayOfWeek) //設置本周起始天數
void setMaxDate(long maxDate)
void setMinDate(long minDate)
void setOnDateChangeListener(CalendarView.OnDateChangeListener listener) //日歷視圖修改的介面,這個介紹看下面。
void setShowWeekNumber(boolean showWeekNumber) //設置是否顯示周號
有關日歷控制項CalendarView的設置介面 android.widget.CalendarView.OnDateChangeListener 只實現了一個回調方法void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth)。
這四個參數的具體介紹為
view The view associated with this listener.
year The year that was set.
month The month that was set [0-11].
dayOfMonth The day of the month that was set.
4. 做一個android日歷,從哪兒入手
如果你搭建好環境的話建議你先學一下view布局
首先你要在第一個activity創建一個垂直布局的LinearLayout,
然後再新建個水平布局的LinearLayout用來承載上面按鈕的年月日
另外再建個垂直的LinearLayout
在下面這個LinearLayout新建1個水平的LinearLayout來循環生成7個標頭「星期一,星期二」這樣的
然後在循環建4個LinearLayout循環生成日期實體框
標題框和日期框分別新建一個類,繼承view函數,在循環裡面生成,構造函數填入寬高
這兩個類裡面分別重構ondraw()函數。
這樣就ok了
5. android:能不能把EditText的輸入限制為星期或者是日期時間,就是那種可以直接選擇而不用用戶輸入那種
android中有DatePicker控制項的,一般用Dialog
private DatePickerDialog mDateDialog = null;
private TextView mBeginDateTv,mEndDateTv;
private BeanDateTime mBegin,mEnd;
private int mThisDatePicker;
//點擊Textview彈出Dialog
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.date_begin:
mThisDatePicker = 0;
mDateDialog = new DatePickerDialog(mContext, dateSetCallback, mBegin.getYear(), mBegin.getMonth() - 1, mBegin.getDay());
mDateDialog.setTitle(R.string.date_begin_label);
mDateDialog.show();
break;
case R.id.date_end:
mThisDatePicker = 1;
mDateDialog = new DatePickerDialog(mContext, dateSetCallback, mEnd.getYear(), mEnd.getMonth() - 1, mEnd.getDay());
mDateDialog.setTitle(R.string.date_end_label);
mDateDialog.show();
break;
default:
break;
}
}
/**
* 日期選擇完畢監聽器
*/
private OnDateSetListener dateSetCallback = new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
if (mThisDatePicker == 0 ) {
mBegin.setYear(year);
mBegin.setMonth(monthOfYear + 1); //控制項中月份是從0開始的
mBegin.setDay(dayOfMonth);
mBegin.setTimeStamp(0L);
mBeginDateTv.setText(mBegin.getDateStr(null));
} else if (mThisDatePicker == 1 ) {
mEnd.setYear(year);
mEnd.setMonth(monthOfYear + 1);
mEnd.setDay(dayOfMonth);
mEnd.setTimeStamp(0L);
mEndDateTv.setText(mEnd.getDateStr(null));
}
mDateDialog = null;
mPage = 0;
getTransList();
}
};
BeanDateTime類
/**
* 日期,時間
* @author Administrator
* @des 除了初始化謹慎用原有的timeStamp欄位來轉換其他欄位!
*
*/
public class BeanDateTime {
private int year;
private int month;
private int day;
private int hour;
private int minute;
private int second;
private long timeStamp;
/**
* 根據bean中的int值返回需要格式的日期字元串,如果formatStr為null,則默認為"yyyy-MM-dd"
* @param formatStr
* @return
*/
public String getDateStr(String formatStr) {
if (formatStr == null) {
formatStr = "yyyy-MM-dd";
}
String intBuild = this.year + "-" + this.month + "-" + this.day;
SimpleDateFormat format= new SimpleDateFormat(formatStr);
String date = null;
try {
date = format.format(format.parse(intBuild));
} catch (ParseException e) {
return intBuild;
}
return date;
}
public BeanDateTime(long timeStamp) {
this.timeStamp = timeStamp;
this.year = Integer.parseInt(parseDateTime(this.timeStamp,"yyyy"));
this.month = Integer.parseInt(parseDateTime(this.timeStamp,"M"));
this.day = Integer.parseInt(parseDateTime(this.timeStamp,"d"));
this.hour = Integer.parseInt(parseDateTime(this.timeStamp,"H"));
this.minute = Integer.parseInt(parseDateTime(this.timeStamp,"mm"));
this.second = Integer.parseInt(parseDateTime(this.timeStamp,"ss"));
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
public int getHour() {
return hour;
}
public void setHour(int hour) {
this.hour = hour;
}
public int getMinute() {
return minute;
}
public void setMinute(int minute) {
this.minute = minute;
}
public int getSecond() {
return second;
}
public void setSecond(int second) {
this.second = second;
}
public long getTimeStamp() {
return timeStamp;
}
public void setTimeStamp(long timeStamp) {
this.timeStamp = timeStamp;
}
/**
* 按照固定格把long時間戳轉化成字元串
* dd/MM/yyyy HH:mm:ss
* @param aTime
* @return
* @des 24小時制:HH:mm:ss,12小時制:hh:mm:ss
*/
public static String parseDateTime(long aTime,String format)
{
return new SimpleDateFormat(format).format(new Date(aTime));
}
}
6. 怎麼獲取android系統日期格式
Android中獲取系統時間和日期,星期代碼如下:
import java.text.SimpleDateFormat;
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");
Date curDate = new Date(System.currentTimeMillis());//獲取當前時間
String str = formatter.format(curDate);
可以獲取當前的年月時分,也可以分開寫:
復制代碼 代碼如下:
SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date = sDateFormat.format(new java.util.Date());
如果想獲取當前的年月,則可以這樣寫(只獲取時間或秒種一樣):
Java代碼
復制代碼 代碼如下:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM");
String date=sdf.format(new java.util.Date());
當然還有就是可以指定時區的時間(待):
復制代碼 代碼如下:
df=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,Locale.CHINA);
System.out.println(df.format(new Date()));
如何獲取Android系統時間是24小時制還是12小時制
復制代碼 代碼如下:
ContentResolver cv = this.getContentResolver();
String strTimeFormat = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.TIME_12_24);
if(strTimeFormat.equals("24"))
{
Log.i("activity","24");
}
復制代碼 代碼如下:
Calendar c = Calendar.getInstance();
取得系統日期:year = c.get(Calendar.YEAR)
month = c.grt(Calendar.MONTH)
day = c.get(Calendar.DAY_OF_MONTH)
取得系統時間:hour = c.get(Calendar.HOUR_OF_DAY);
minute = c.get(Calendar.MINUTE)
利用Calendar獲取
復制代碼 代碼如下:
Calendar c = Calendar.getInstance();
取得系統日期:year = c.get(Calendar.YEAR)
month = c.grt(Calendar.MONTH)
day = c.get(Calendar.DAY_OF_MONTH)
取得系統時間:hour = c.get(Calendar.HOUR_OF_DAY);
minute = c.get(Calendar.MINUTE)
Calendar c = Calendar.getInstance();
取得系統日期:year = c.get(Calendar.YEAR)
month = c.grt(Calendar.MONTH)
day = c.get(Calendar.DAY_OF_MONTH)
取得系統時間:hour = c.get(Calendar.HOUR_OF_DAY);
minute = c.get(Calendar.MINUTE)
利用Time獲取
復制代碼 代碼如下:
Time t=new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone資料。
t.setToNow(); // 取得系統時間。
int year = t.year;
int month = t.month;
int date = t.monthDay;
int hour = t.hour; // 0-23
int minute = t.minute;
int second = t.second;
7. Android 知道當天星期幾如何讓它自動累加得到明天 後天星期幾
得到某一天是星期幾:
Calendar calendar = Calendar.getInstance();
int todayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
得到這天之後的第N天是星期幾:
int afterNDay = (todayOfWeek + N)%7;
這里的int如果等於1
表明是星期天
如果等於2
表明是星期一
以此往後推.