導航:首頁 > 操作系統 > androidgetyear

androidgetyear

發布時間:2022-08-16 21:08:56

『壹』 android日歷控制項

1.DatePicker

在Android中,DatePicker用來實現日期輸入設置,日期的設置范圍為1900年1月1日至2100年12月31日。

1.1常用xml屬性

DatePicker的常用xml屬性如圖1所示:

圖1 DatePicker常用xml屬性

其中,android:calendarViewShown[boolean]用於設置是否顯示calendar view;android:endYear[int]用於設置截至日期;android:maxDate[int]用於設置最大的日期;android:minDate[int]用於設置最小的日期;android:spinnersShown[boolean]用於設置是否顯示spinners;android:startYear[int]用於設置起始日期。

1.2常用方法

DatePicker的常用方法有以下一些:

(1)public CalendarView getCalendarView(); //獲取CalendarView

(2)public boolean getCalendarViewShown(); //獲取CalendarView是否顯示

(3)public int getDayOfMonth(); //獲取當前日期的日

(4)public long getMaxDate(); //獲取最大日期

(5)public long getMinDate(); //獲取最小日期

(6)public int getMonth(); //獲取當前日期的月

(7)public boolean getSpinnersShown(); //獲取Spinners是否顯示

(8)public int getYear(); //獲取當前日期的年

(9)public void init(int year,int monthOfYear,int dayOfMonth,

DatePicker.OnDateChangedListener onDateChangedListener); //初始化日期

(10)public void setCalendarViewShown(boolean shown);//設置是否顯示CalendarView

(11)public void setMaxDate(long maxDate); //設置最大日期

(12)public void setMinDate(long minDate); //設置最小日期

(13)public void setSpinnersShown(boolean shown); //設置是否顯示Spinners

(14)public void updateDate(int year,int month,int dayOfMonth); //更新當前日期2.TimePicker

在Android中,TimePicker用來實現時間輸入設置,可以選擇12或24小時模式。TimePicker的常用方法有以下一些:

(1)public Integer getCurrentHour(); //獲取當前時間的小時

(2)public Integer getCurrentMinute(); //獲取當前時間的分鍾

(3)public boolean is24HourView(); //獲取是否為24小時模式

(4)public void setCurrentHour(Integer currentHour); //設置當前時間的小時

(5)public void setCurrentMinute(Integer currentMinute); //設置當前時間的分鍾

(6)public void setIs24HourView(Boolean is24HourView); //設置24小時模式3.DatePickerDialog

在Android中,DatePickerDialog用來顯示日期對話框。DatePickerDialog的常用方法有以下一些:

(1)public DatePicker getDatePicker(); //獲取DatePicker中的日期值

(2)public void onClick(DialogInterface dialog,int which); //響應對話框中的點擊事件

(3)public void onDateChanged(DatePicker view,int year,int month,int day); //響應日期改變事件

(4)public void updateDate(int year,int monthOfYear,int dayOfMonth); //更新當前日期4.TimePickerDialog

在Android中,TimePickerDialog用來顯示時間對話框。TimePickerDialog的常用方法有以下一些:

(1)public void onClick(DialogInterface dialog,int which); //響應對話框中的點擊事件

(2)public void onTimeChanged(TimePicker view,int hourOfDay,int minute); //響應時間改變事件

(3)public void updateTime(int hourOfDay,int minuteOfHour); //更新當前時間5.AnalogClock

在Android中,AnalogClock用於顯示指針式時鍾,該時鍾僅有時鍾和分鍾兩個指針。6.DigitalClock

在Android中,DigitalClock用來顯示數字式時鍾,顯示格式為HH:MM:SS AM/PM。

『貳』 android自定義時間選擇器,滑動選擇日期,智能判斷每月多少天

自定義一個類:
/DateTimePicker/src/com/wwj/datetimepicker/DateTimePickDialogUtil.java

[java] view plain
package com.wwj.datetimepicker;

import java.text.SimpleDateFormat;
import java.util.Calendar;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;

/**
* 日期時間選擇控制項 使用方法: private EditText inputDate;//需要設置的日期時間文本編輯框 private String
* initDateTime="2012年9月3日 14:44",//初始日期時間值 在點擊事件中使用:
* inputDate.setOnClickListener(new OnClickListener() {
*
* @Override public void onClick(View v) { DateTimePickDialogUtil
* dateTimePicKDialog=new
* DateTimePickDialogUtil(SinvestigateActivity.this,initDateTime);
* dateTimePicKDialog.dateTimePicKDialog(inputDate);
*
* } });
*
* @author
*/
public class DateTimePickDialogUtil implements OnDateChangedListener,
OnTimeChangedListener {
private DatePicker datePicker;
private TimePicker timePicker;
private AlertDialog ad;
private String dateTime;
private String initDateTime;
private Activity activity;

/**
* 日期時間彈出選擇框構造函數
*
* @param activity
* :調用的父activity
* @param initDateTime
* 初始日期時間值,作為彈出窗口的標題和日期時間初始值
*/
public DateTimePickDialogUtil(Activity activity, String initDateTime) {
this.activity = activity;
this.initDateTime = initDateTime;

}

public void init(DatePicker datePicker, TimePicker timePicker) {
Calendar calendar = Calendar.getInstance();
if (!(null == initDateTime || "".equals(initDateTime))) {
calendar = this.getCalendarByInintData(initDateTime);
} else {
initDateTime = calendar.get(Calendar.YEAR) + "年"
+ calendar.get(Calendar.MONTH) + "月"
+ calendar.get(Calendar.DAY_OF_MONTH) + "日 "
+ calendar.get(Calendar.HOUR_OF_DAY) + ":"
+ calendar.get(Calendar.MINUTE);
}

datePicker.init(calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH), this);
timePicker.setCurrentHour(calendar.get(Calendar.HOUR_OF_DAY));
timePicker.setCurrentMinute(calendar.get(Calendar.MINUTE));
}

/**
* 彈出日期時間選擇框方法
*
* @param inputDate
* :為需要設置的日期時間文本編輯框
* @return
*/
public AlertDialog dateTimePicKDialog(final EditText inputDate) {
LinearLayout dateTimeLayout = (LinearLayout) activity
.getLayoutInflater().inflate(R.layout.common_datetime, null);
datePicker = (DatePicker) dateTimeLayout.findViewById(R.id.datepicker);
timePicker = (TimePicker) dateTimeLayout.findViewById(R.id.timepicker);
init(datePicker, timePicker);
timePicker.setIs24HourView(true);
timePicker.setOnTimeChangedListener(this);

ad = new AlertDialog.Builder(activity)
.setTitle(initDateTime)
.setView(dateTimeLayout)
.setPositiveButton("設置", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
inputDate.setText(dateTime);
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
inputDate.setText("");
}
}).show();

onDateChanged(null, 0, 0, 0);
return ad;
}

public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
onDateChanged(null, 0, 0, 0);
}

public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// 獲得日歷實例
Calendar calendar = Calendar.getInstance();

calendar.set(datePicker.getYear(), datePicker.getMonth(),
datePicker.getDayOfMonth(), timePicker.getCurrentHour(),
timePicker.getCurrentMinute());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");

dateTime = sdf.format(calendar.getTime());
ad.setTitle(dateTime);
}

/**
* 實現將初始日期時間2012年07月02日 16:45 拆分成年 月 日 時 分 秒,並賦值給calendar
*
* @param initDateTime
* 初始日期時間值 字元串型
* @return Calendar
*/
private Calendar getCalendarByInintData(String initDateTime) {
Calendar calendar = Calendar.getInstance();

// 將初始日期時間2012年07月02日 16:45 拆分成年 月 日 時 分 秒
String date = spliteString(initDateTime, "日", "index", "front"); // 日期
String time = spliteString(initDateTime, "日", "index", "back"); // 時間

String yearStr = spliteString(date, "年", "index", "front"); // 年份
String monthAndDay = spliteString(date, "年", "index", "back"); // 月日

String monthStr = spliteString(monthAndDay, "月", "index", "front"); // 月
String dayStr = spliteString(monthAndDay, "月", "index", "back"); // 日

String hourStr = spliteString(time, ":", "index", "front"); // 時
String minuteStr = spliteString(time, ":", "index", "back"); // 分

int currentYear = Integer.valueOf(yearStr.trim()).intValue();
int currentMonth = Integer.valueOf(monthStr.trim()).intValue() - 1;
int currentDay = Integer.valueOf(dayStr.trim()).intValue();
int currentHour = Integer.valueOf(hourStr.trim()).intValue();
int currentMinute = Integer.valueOf(minuteStr.trim()).intValue();

calendar.set(currentYear, currentMonth, currentDay, currentHour,
currentMinute);
return calendar;
}

/**
* 截取子串
*
* @param srcStr
* 源串
* @param pattern
* 匹配模式
* @param indexOrLast
* @param frontOrBack
* @return
*/
public static String spliteString(String srcStr, String pattern,
String indexOrLast, String frontOrBack) {
String result = "";
int loc = -1;
if (indexOrLast.equalsIgnoreCase("index")) {
loc = srcStr.indexOf(pattern); // 取得字元串第一次出現的位置
} else {
loc = srcStr.lastIndexOf(pattern); // 最後一個匹配串的位置
}
if (frontOrBack.equalsIgnoreCase("front")) {
if (loc != -1)
result = srcStr.substring(0, loc); // 截取子串
} else {
if (loc != -1)
result = srcStr.substring(loc + 1, srcStr.length()); // 截取子串
}
return result;
}

}

/DateTimePicker/src/com/wwj/datetimepicker/DateTimePickerActivity.java

[java] view plain
package com.wwj.datetimepicker;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;

/**
* 時間拾取器界面
*
* @author wwj_748
*
*/
public class DateTimePickerActivity extends Activity {
/** Called when the activity is first created. */
private EditText startDateTime;
private EditText endDateTime;

private String initStartDateTime = "2013年9月3日 14:44"; // 初始化開始時間
private String initEndDateTime = "2014年8月23日 17:44"; // 初始化結束時間

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// 兩個輸入框
startDateTime = (EditText) findViewById(R.id.inputDate);
endDateTime = (EditText) findViewById(R.id.inputDate2);

startDateTime.setText(initStartDateTime);
endDateTime.setText(initEndDateTime);

startDateTime.setOnClickListener(new OnClickListener() {
public void onClick(View v) {

DateTimePickDialogUtil dateTimePicKDialog = new DateTimePickDialogUtil(
DateTimePickerActivity.this, initEndDateTime);
dateTimePicKDialog.dateTimePicKDialog(startDateTime);

}
});

endDateTime.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
DateTimePickDialogUtil dateTimePicKDialog = new DateTimePickDialogUtil(
DateTimePickerActivity.this, initEndDateTime);
dateTimePicKDialog.dateTimePicKDialog(endDateTime);
}
});
}
}

自定義界面:
/DateTimePicker/res/layout/common_datetime.xml

[html] view plain
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<DatePicker
android:id="@+id/datepicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:calendarViewShown="false" />

<TimePicker
android:id="@+id/timepicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>

『叄』 android DatePickerDialog怎麼設置日期選擇范圍

您好,很高興為您解答。

自定義dialog實現的,在DatePicker的onDateChangedListentr事件中實現范圍的控制

{
/**.*/

@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
finalTextViewtext=(TextView)findViewById(R.id.text);
LayoutInflaterl=LayoutInflater.from(this);
Viewv=l.inflate(R.layout.dialog,null);
finalDatePickerdatePicker=(DatePicker)v
.findViewById(R.id.datepicker);

datePicker.init(2000,1,3,newOnDateChangedListener(){

@Override
publicvoidonDateChanged(DatePickerview,intyear,
intmonthOfYear,intdayOfMonth){

if(isDateAfter(view)){
view.init(2000,11,30,this);
}
if(isDateBefore(view)){
view.init(1949,11,30,this);
}
}

privatebooleanisDateAfter(DatePickertempView){
if(tempView.getYear()>2000){
returntrue;
}else
returnfalse;
}

privatebooleanisDateBefore(DatePickertempView){
if(tempView.getYear()<1921){
returntrue;
}else
returnfalse;
}
});
Dialogdialog=newAlertDialog.Builder(this)
.setTitle(
datePicker.getYear()+"年"
+(datePicker.getMonth()+1)+"月"
+datePicker.getDayOfMonth()+"日")
.setView(v)
.setIcon(R.drawable.ic_dialog_time)
.setNeutralButton("設置",newDialogInterface.OnClickListener(){

@Override
publicvoidonClick(DialogInterfacedialog,intwhich){

text.setText(datePicker.getYear()+"年"
+(datePicker.getMonth()+1)+"月"
+datePicker.getDayOfMonth()+"日");
}
})
.setNegativeButton("取消",newDialogInterface.OnClickListener(){

@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
dialog.cancel();

}
}).create();

dialog.show();

}
}


自定義的dialog.xml代碼如下【3.0版本之前】

[html]viewplain
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<DatePicker
android:id="@+id/datepicker"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

</LinearLayout>

【在3.0版本以後】

[java]viewplain
publicvoidonClick(Viewv){
switch(answer.type){
case1://日期類型

DatePickerDialogdialog=newDatePickerDialog(ctx,this,1980,0,
1);
DatePickerdatePicker=dialog.getDatePicker();
datePicker.setMinDate(DateUtils.getInstance().format("1970-01-01")
.getTime());
datePicker.setMaxDate(DateUtils.getInstance().format("2013-01-07")
.getTime());
dialog.show();
break;
}
}

@Override
publicvoidonDateSet(DatePickerview,intyear,intmonthOfYear,
intdayOfMonth){
editText.setText(year+"年"+(monthOfYear+1)+"月"+dayOfMonth
+"日");
}



如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】

希望我的回答對您有所幫助,望採納!

~ O(∩_∩)O~

『肆』 android 怎麼設置timePicker可以選擇的時間范圍

Android DatePickerDialog只能設置當前顯示的值,不能設置選擇范圍,范圍需要在代碼中判斷。
在Android程序中,通常需要使用DatePicker來設置日期,TimePicker來設置時間。其基本步驟是:
1.先定義DatePicker和TimePicker布局。
2.然後通過Calendar類獲得系統時間。
3.接著通過init方法將日期傳遞給DatePicker初始化日期控制項。
4.在響應點擊事件中可以通過DatePicker的getYear()、getDayOfMonth()、getMonth()函數獲取具體日期。
同時可以在OnDateChangedListener事件中監聽日期變化,設置時間函數方法同理。

『伍』 QQ通訊錄裡面生日選擇對話框那裡,陽歷和農歷轉換怎麼實現呢急求android代碼,感謝各位大神了!!!

package nongli;
import java.util.Calendar;
import java.util.Date;
public final class Lauar {
private static int monCyl, dayCyl, yearCyl;
private static int year, month, day;
private static boolean isLeap;
private static int[] lunarInfo = {0x04bd8, 0x04ae0, 0x0a570, 0x054d5,
0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, 0x04ae0,
0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2,
0x095b0, 0x14977, 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40,
0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, 0x06566, 0x0d4a0,
0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7,
0x0c950, 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0,
0x092d0, 0x0d2b2, 0x0a950, 0x0b557, 0x06ca0, 0x0b550, 0x15355,
0x04da0, 0x0a5d0, 0x14573, 0x052d0, 0x0a9a8, 0x0e950, 0x06aa0,
0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263,
0x0d950, 0x05b57, 0x056a0, 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0,
0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b5a0, 0x195a6, 0x095b0,
0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46,
0x0ab60, 0x09570, 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50,
0x06b58, 0x055c0, 0x0ab60, 0x096d5, 0x092e0, 0x0c960, 0x0d954,
0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0,
0x0cab5, 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0,
0x0a5b0, 0x15176, 0x052b0, 0x0a930, 0x07954, 0x06aa0, 0x0ad50,
0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530,
0x05aa0, 0x076a3, 0x096d0, 0x04bd7, 0x04ad0, 0x0a4d0, 0x1d0b6,
0x0d250, 0x0d520, 0x0dd45, 0x0b5a0, 0x056d0, 0x055b2, 0x049b0,
0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0};
private static int[] solarMonth = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31,
30, 31};
private static String[] Gan = {"甲", "乙", "丙", "丁", "戊", "己", "庚", "辛",
"壬", "癸"};
private static String[] Zhi = {"子", "丑", "寅", "卯", "辰", "巳", "午", "未",
"申", "酉", "戌", "亥"};
private static String[] Animals = {"鼠", "牛", "虎", "兔", "龍", "蛇", "馬", "羊",
"猴", "雞", "狗", "豬"};
private static int[] sTermInfo = {0, 21208, 42467, 63836, 85337, 107014,
128867, 150921, 173149, 195551, 218072, 240693, 263343, 285989,
308563, 331033, 353350, 375494, 397447, 419210, 440795, 462224,
483532, 504758};
private static String[] nStr1 = {"日", "一", "二", "三", "四", "五", "六", "七",
"八", "九", "十"};
private static String[] nStr2 = {"初", "十", "廿", "卅", ""};
private static String[] monthNong = {"正", "正", "二", "三", "四", "五", "六",
"七", "八", "九", "十", "十一", "十二"};
private static String[] yearName = {"零", "壹", "貳", "叄", "肆", "伍", "陸",
"柒", "捌", "玖"};
private Object LogFactory;
public Lauar() {
}
//====================================== 傳回農歷 y年的總天數
private static int lYearDays(int y) {
int i;
int sum = 348; //29*12
for (i = 0x8000; i > 0x8; i >>= 1) {
sum += (lunarInfo[y - 1900] & i) == 0 ? 0 : 1; //大月+1天
}
return (sum + leapDays(y)); //+閏月的天數
}
//====================================== 傳回農歷 y年閏月的天數
private static int leapDays(int y) {
if (leapMonth(y) != 0) {
return ((lunarInfo[y - 1900] & 0x10000) == 0 ? 29 : 30);
} else {
return (0);
}
}
//====================================== 傳回農歷 y年閏哪個月 1-12 , 沒閏傳回 0
private static int leapMonth(int y) {
return (lunarInfo[y - 1900] & 0xf);
}
//====================================== 傳回農歷 y年m月的總天數
private static int monthDays(int y, int m) {
return ((lunarInfo[y - 1900] & (0x10000 >> m)) == 0 ? 29 : 30);
}
//====================================== 算出農歷, 傳入日期物件, 傳回農歷日期物件
// 該物件屬性有 .year .month .day .isLeap .yearCyl .dayCyl .monCyl
private static void Lunar1(Date objDate) {
int i, leap = 0, temp = 0;
Calendar cl = Calendar.getInstance();
cl.set(1900, 0, 31); //1900-01-31是農歷1900年正月初一
Date baseDate = cl.getTime();
//1900-01-31是農歷1900年正月初一
int offset = (int) ((objDate.getTime() - baseDate.getTime()) / 86400000); //天數(86400000=24*60*60*1000)
dayCyl = offset + 40; //1899-12-21是農歷1899年臘月甲子日
monCyl = 14; //1898-10-01是農歷甲子月

//得到年數

for (i = 1900; i < 2050 && offset > 0; i++) {
temp = lYearDays(i); //農歷每年天數
offset -= temp;
monCyl += 12;
}
if (offset < 0) {
offset += temp;
i--;
monCyl -= 12;
}
year = i; //農歷年份
yearCyl = i - 1864; //1864年是甲子年
leap = leapMonth(i); //閏哪個月
isLeap = false;
for (i = 1; i < 13 && offset > 0; i++) {
//閏月
if (leap > 0 && i == (leap + 1) && isLeap == false) {
--i;
isLeap = true;
temp = leapDays(year);
} else {
temp = monthDays(year, i);
}
//解除閏月
if (isLeap == true && i == (leap + 1)) {
isLeap = false;
}
offset -= temp;
if (isLeap == false) {
monCyl++;
}
}
if (offset == 0 && leap > 0 && i == leap + 1) {
if (isLeap) {
isLeap = false;
} else {
isLeap = true;
--i;
--monCyl;
}
}
if (offset < 0) {
offset += temp;
--i;
--monCyl;
}
month = i; //農歷月份
day = offset + 1; //農歷天份
}
private static int getYear() {
return (year);
}
private static int getMonth() {
return (month);
}
private static int getDay() {
return (day);
}
private static int getMonCyl() {
return (monCyl);
}
private static int getYearCyl() {
return (yearCyl);
}
private static int getDayCyl() {
return (dayCyl);
}
private static boolean getIsLeap() {
return (isLeap);
}
//============================== 傳入 offset 傳回干支, 0=甲子
private static String cyclical(int num) {
return (Gan[num % 10] + Zhi[num % 12]);
}
//====================== 中文日期
private static String cDay(int d) {
String s;
switch (d) {
case 10:
s = "初十";
break;
case 20:
s = "二十";
break;
case 30:
s = "三十";
break;
default:
s = nStr2[(int) (d / 10)];//取商
s += nStr1[d % 10];//取余
}
return (s);
}
private static String cYear(int y) {
String s = " ";
int d;
while (y > 0) {
d = y % 10;
y = (y - d) / 10;
s = yearName[d] + s;
}
return (s);
}
public static String getLunar(String year, String month, String day) {
Date sDObj;
String s;
int SY, SM, SD;
int sy;
SY = Integer.parseInt(year);
SM = Integer.parseInt(month);
SD = Integer.parseInt(day);
sy = (SY - 4) % 12;
Calendar cl = Calendar.getInstance();
cl.set(SY, SM - 1, SD);
sDObj = cl.getTime();
//日期
Lunar1(sDObj); //農歷
s = "農歷 " + "【" + Animals[sy] + "】" + cYear(getYear()) + "年" + " ";
s += (getIsLeap() ? "閏" : "") + monthNong[getMonth()] + "月"+ (monthDays(getYear(), getMonth()) == 29 ? "小" : "大");
s += cDay(getDay()) + " ";
s += cyclical(getYearCyl()) + "年" + cyclical(getMonCyl()) + "月"+ cyclical(getDayCyl()) + "日";
return s;
}
public static void main(String[] args) {
System.out.println(getLunar("1990", "8", "26"));
System.out.println(getLunar("2008", "6", "8"));
System.out.println(getLunar("2009", "4", "3"));
System.out.println(getLunar("2011", "11", "22"));
}
}

『陸』 android對TimePickerDialog進行監聽 為什麼onTimeSet會執行兩次

Android中TimePickerDialog和DatePickerDialog都是SDK的時間日期選擇控制項,如果onTimeSet執行兩次,那說明修改方法被執行了兩次。
在Android程序中,通常需要使用DatePicker來設置日期,TimePicker來設置時間。其基本步驟是:
1.先定義DatePicker和TimePicker布局
2.然後通過Calendar類獲得系統時間
3.接著通過init方法將日期傳遞給DatePicker初始化日期控制項
4.在響應點擊事件中可以通過DatePicker的getYear()、getDayOfMonth()、getMonth()函數獲取具體日期
同時可以在OnDateChangedListener事件中監聽日期變化,設置時間函數方法同理。

『柒』 android如何在xml設置DatePicker使右邊日歷不顯示

您好,很高興為您解答。自定義dialog實現的,在DatePicker的onDateChangedListentr事件中實現范圍的控制
public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final TextView text = (TextView) findViewById(R.id.text); LayoutInflater l = LayoutInflater.from(this); View v = l.inflate(R.layout.dialog, null); final DatePicker datePicker = (DatePicker) v .findViewById(R.id.datepicker); datePicker.init(2000, 1, 3, new OnDateChangedListener() { @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { if (isDateAfter(view)) { view.init(2000, 11, 30, this); } if (isDateBefore(view)) { view.init(1949, 11, 30, this); } } private boolean isDateAfter(DatePicker tempView) { if (tempView.getYear() > 2000) { return true; } else return false; } private boolean isDateBefore(DatePicker tempView) { if (tempView.getYear() < 1921) { return true; } else return false; } }); Dialog dialog = new AlertDialog.Builder(this) .setTitle( datePicker.getYear() + "年" + (datePicker.getMonth() + 1) + "月" + datePicker.getDayOfMonth() + "日") .setView(v) .setIcon(R.drawable.ic_dialog_time) .setNeutralButton("設置", new DialogInterface.OnClickListener() { @Override

『捌』 Android DatePicker使用遇到了一些問題

讓它失去焦點就可以了:

不直接用DatePickerDialog,用AlertDialog setView的方式,

view 裡面放一個DatePicker、TimePicker和EditText(EditText的長寬為0dp),

點擊確定的時候先editText.requestFocus();再用datePicker.getYear()、 datePicker.getMonth()等就可以了

『玖』 android自帶日期控制項怎麼調用

1.DatePicker


在Android中,DatePicker用來實現日期輸入設置,日期的設置范圍為1900年1月1日至2100年12月31日。


1.1常用xml屬性


DatePicker的常用xml屬性如圖1所示:


圖1 DatePicker常用xml屬性


其中,android:calendarViewShown[boolean]用於設置是否顯示calendar view;android:endYear[int]用於設置截至日期;android:maxDate[int]用於設置最大的日期;android:minDate[int]用於設置最小的日期;android:spinnersShown[boolean]用於設置是否顯示spinners;android:startYear[int]用於設置起始日期。


1.2常用方法


DatePicker的常用方法有以下一些:


(1)public CalendarView getCalendarView(); //獲取CalendarView


(2)public boolean getCalendarViewShown(); //獲取CalendarView是否顯示


(3)public int getDayOfMonth(); //獲取當前日期的日


(4)public long getMaxDate(); //獲取最大日期


(5)public long getMinDate(); //獲取最小日期


(6)public int getMonth(); //獲取當前日期的月


(7)public boolean getSpinnersShown(); //獲取Spinners是否顯示


(8)public int getYear(); //獲取當前日期的年


(9)public void init(int year,int monthOfYear,int dayOfMonth,


DatePicker.OnDateChangedListener onDateChangedListener); //初始化日期


(10)public void setCalendarViewShown(boolean shown);//設置是否顯示CalendarView


(11)public void setMaxDate(long maxDate); //設置最大日期


(12)public void setMinDate(long minDate); //設置最小日期


(13)public void setSpinnersShown(boolean shown); //設置是否顯示Spinners


(14)public void updateDate(int year,int month,int dayOfMonth); //更新當前日期



2.TimePicker


在Android中,TimePicker用來實現時間輸入設置,可以選擇12或24小時模式。TimePicker的常用方法有以下一些:


(1)public Integer getCurrentHour(); //獲取當前時間的小時


(2)public Integer getCurrentMinute(); //獲取當前時間的分鍾


(3)public boolean is24HourView(); //獲取是否為24小時模式


(4)public void setCurrentHour(Integer currentHour); //設置當前時間的小時


(5)public void setCurrentMinute(Integer currentMinute); //設置當前時間的分鍾


(6)public void setIs24HourView(Boolean is24HourView); //設置24小時模式



3.DatePickerDialog


在Android中,DatePickerDialog用來顯示日期對話框。DatePickerDialog的常用方法有以下一些:


(1)public DatePicker getDatePicker(); //獲取DatePicker中的日期值


(2)public void onClick(DialogInterface dialog,int which); //響應對話框中的點擊事件


(3)public void onDateChanged(DatePicker view,int year,int month,int day); //響應日期改變事件


(4)public void updateDate(int year,int monthOfYear,int dayOfMonth); //更新當前日期



4.TimePickerDialog


在Android中,TimePickerDialog用來顯示時間對話框。TimePickerDialog的常用方法有以下一些:


(1)public void onClick(DialogInterface dialog,int which); //響應對話框中的點擊事件


(2)public void onTimeChanged(TimePicker view,int hourOfDay,int minute); //響應時間改變事件


(3)public void updateTime(int hourOfDay,int minuteOfHour); //更新當前時間



5.AnalogClock


在Android中,AnalogClock用於顯示指針式時鍾,該時鍾僅有時鍾和分鍾兩個指針。



6.DigitalClock


在Android中,DigitalClock用來顯示數字式時鍾,顯示格式為HH:MM:SS AM/PM。

閱讀全文

與androidgetyear相關的資料

熱點內容
a3雙面列印pdf 瀏覽:270
被命令文言文 瀏覽:717
c語言編譯器在線菜鳥 瀏覽:214
安卓如何使用華為手機助手 瀏覽:701
怎麼查看域伺服器名稱 瀏覽:775
如何把蘋果的視頻傳到安卓手機 瀏覽:612
介面伺服器怎麼使用 瀏覽:62
蘋果怎麼實現安卓全面屏手勢 瀏覽:977
拳皇97最強宏命令 瀏覽:921
linux安裝svn查看 瀏覽:850
內置函數計算絕對值python 瀏覽:88
千聊免費課程可以重新加密嗎 瀏覽:507
python能代替php嗎 瀏覽:252
phpexcel樣式 瀏覽:265
安卓手機有沒有什麼軟體可以阻止彈廣告的 瀏覽:306
linux區域網搭建伺服器 瀏覽:690
python編譯器mac 瀏覽:293
windows的doc命令 瀏覽:463
nfc全加密門禁卡 瀏覽:636
身份信息被加密 瀏覽:482