1. android中怎么排序日期和时间
时间排序,方法很多,以下提供几种常用的方法。
转化成long类型进行对比。
通过Collections.sort()方法进行排序。
【原理】
主要是通过把时间转化成一些可以对比的数据类型进行排序对比。
【详细方式或原理】
转化成long类型进行对比
转化代码:
java">StringsDt="08/31/200621:08:00";
SimpleDateFormatsdf=newSimpleDateFormat("MM/dd/yyyyHH:mm:ss");
Datedt2=sdf.parse(sDt);
//继续转换得到秒数的long型
longlTime=dt2.getTime()/1000;
把需要对比的时间转化成long类型进行对比。
2.通过Collections.sort()方法进行排序
Collections.sort()是java提供的官方排序方式。适合多类型排序。
详细的对比代码如下:
一般情况下要重写下Comparator 接口。
importjava.util.Comparator;
{
@Override
publicintcompare(Objectlhs,Objectrhs){
//时间对比
numa=(num)lhs;
numb=(num)rhs;
return(b.getCount()-a.getCount());
}
}
然后在排序的地方进行使用
Comparatorcomp=newSortComparator();
Collections.sort(list,comp);
【最后】
如果数据类型复杂推荐使用方法二,如果类型简单推荐使用方法一。
2. 安卓手机日历软件哪个好
安卓手机日历软件哪个好?根据你的需求,推荐你使用敬业签这款日历便签软件,因为:
1、它自带有日历的功能,我们就可以在这一日历中同步查看到每个日期对应的新增事项、已完成事项以及提醒事项等内容;
2、它具备多项分类的功能,你可以将分类记录每天的待办事项,然后根据任务的轻重缓急制定出一天的待办计划;
3、它有待办事项提醒的功能,支持定时提醒、重复提醒、间隔提醒、延时提醒、来电提醒、短信提醒以及微信提醒等类型;
4、具备多端兼容的优势,可以同时适用于以下几个端口:Windows/Android/ios/Web/ipad/Mac, 我们只需在各端登录同一账号,便签内容、提醒事项以及日历中的内容记录就可以实现多端云同步。
3. 在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;
4. android 时间格式有哪些
* 获取现在时间
*
* @return 返回时间类型 yyyy-MM-dd HH:mm:ss
*/
public static Date getNowDate() {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(currentTime);
ParsePosition pos = new ParsePosition(8);
Date currentTime_2 = formatter.parse(dateString, pos);
return currentTime_2;
5. android 两个字符串日期比较
1. 这两个字符串都是源自Date类型或者long类型,你如果能抓到原型用long值比较就方便多啦: (nDate1 - nDate2 > 3*24*60*60000) 即可。
2.如果不能得到原型,只能传入这个String类型,建议还是逐个还原为int值再放到long类型里,再用上面的方法1进行比较,这样不用考虑太多String比较的复杂案例。
6. Android下几个相关的时间日期控件的用法
获取年月日,之前的日期不能选择
日历c = Calendar.getInstance(); //获取系统的工具类【可以获取时间】DatePickerDialog datePickerDialog = new DatePickerDialog(context,new DatePickerDialog.OnDateSetListener(){@覆盖public void onDateSet(DatePicker view,int year,int month,int dayOfMonth){月+ = 1;yuyueTime.setText(year +“ - ”+ month +“ - ”+ dayOfMonth);}},c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DATE)); //设置默认时间。datePickerDialog.getDatePicker()setMinDate(c.getTime()的getTime()); //设置最小值datePickerDialog.show();
相关类的认识
选取器(的DatePicker,TimerPicker,NumberPicker)
其中的DatePicker和TimerPicker都有窗口的形式显示日期和时间,再返回数据。
下面分别介绍这几种时间类的使用方法。
一.DatePicker日期选择类的使用
DatePicker的常用的XML属性
XML属性
描述
机器人:calendarViewShown 设置该日期选择是否显示CalendarView组件。
机器人:endYear 设置日期选择器允许选择的最后一年。
安卓的maxDate 设置该日期选择器的最大日期。以MM / DD / YYYY格式指定最大日期。
安卓的minDate 设置该日期选择器的最小日期。以MM / DD / YYYY格式指定最小日期。
机器人:spinnersShown 设置该日期选择器是否显示微调日期选择组件。
机器人:startYear 设置日期选择器允许选择的第一年。
当用户更改了的DatePicker里的年,月,日时,将触发OnDateChangedListener监听器的onDateChange()事件。
二.TimePicker日期选择类的使用
当用户更改了TimePicker里的时,分时,将触发OnTimeChangedListener监听器的onTimeChanged事件。
下面是日期选择类和时间选择类的一个使用示例:
(一)布局文件设计
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="显示日期的控件" /><DatePicker android:id="@+id/main_dp"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="显示时间的控件" /><TimePicker android:id="@+id/main_tp_showTime"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextView android:id="@+id/main_tv_showdate"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="显示日期" /><TextView android:id="@+id/main_tv_showtime"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="显示时间" /></LinearLayout>
1
(二)主代码设计
1
运行后显示的结果:
可以从运行结果直接看到,控件的显示,可以上下拖动选择自己想要的日期和时间,但是,我们看到这样做是比较占屏幕空间的。所以后面介绍的用窗口选择日期和时间是比较常用的。
三。DatePickerDialog
DatePickerDialog和TimePickerDialog,与的DatePicker和TimePicker,最大的区别是的DatePicker和TimePicker是直接显示在屏幕画面上的,而DatePickerDialog和TimePickerDialog对象则是以弹出对话框的方式来显示。
创建DatePickerDialog的语法如下:
1
参数说明:
上下文:当前上下文;
回调:OnDateSetListener日期改变监听器;
年:初始化的年;
monthOfYear:初始化的月(从0开始计数,所以实际应用时需要加1);
请将dayOfMonth:初始化的日;
当用户更改了DatePickerDialog里的年,月,日时,将触发OnDateSetListener监听器的onDateSet()事件。
四。TimePickerDialog
创建TimePickerDialog的语法如下:
1
参数说明:
上下文:当前上下文;
听众:时间改变监听器;
hourOfDay:初始化的小时;
分钟:
初始化的分钟; is24HourView:是否以24小时显示时间;
当用户更改了TimePickerDialog里的时,分时,将触发OnTimeSetListener监听器的onTimeSet()事件。
下面是日期和时间以窗口的形式显示的示例:
(一)布局文件设计
1
(二)代码设计
1
运行后显示的界面:点击日期按钮后点击时间按钮后之后显示的效果
这个以对话框的形式来选择时间还是比较常见的。而且用户体验也是比较好的。
五。NumberPicker
NumberPicker是数值选择器,用于让用户输入数值,用户既可以通过键盘输入数值,也可以通过拖动来选择数值。
NumberPicker的常用方法如下:
方法
描述
setMinValue(int minVal) 设置该组件支持的最小值。
setMaxValue(int maxVal) 设置该组件支持的最大值。
setValue(int value) 设置该组件的当前值。
getMaxValue() 获得该组件设置的最大值。
getMinValue() 获得该组件设置的最小值。
的getValue() 获得当前组件显示的值。
setValue(int value) 设置当前组件显示的值。
使用NumberPicker让用户选择年月日的示例:
(一)布局文件设计
1
(二)的Java代码的设计
1
程序运行后的效果:
选择日期之后的效果
可以看到同样可以显示出日期。
这里是用来三个NumberPicker控件才能有这个效果,如果要具体时间要多加两个NumberPicker控件,就可以了。
但是这样做相对来的要出来的数据还是比较多一点的。
以上就是时间控件的使用的方法和简单使用,总的来的还是以窗口的形式来显示还是比较符合设计思想的,也是我们要重点掌握的。
7. 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~
8. 有没有好用的安卓日历类软件,主要能记住每个纪念日的,例如多少天纪念日之类的,还能记住家里每个人的农
根据您的描述,可设置纪念日提醒,并能按照农历日期设置时间提醒的软件,推荐可使用敬业签。
敬业签是一款集体性、记事、备忘于一体的便签软件,
针对记录的备忘内容既可以设置按照公历日期提醒,又可设置按照农历日期提醒;
记录在敬业签上的备忘事项支持按照天/周/月/季/年周期循环提醒;
比如生日提醒可设置按年提醒,一次设置后,以后的每一年都会准时提醒你。
9. android怎样获取第 2 3 4 5 6天的日期啊啊 啊
Android可以通过 java.util.Calendar,日历工具类来获取日期,和时间。
具体代码:
1.获取 Calendar实例
java.util.Calendar c = Calendar.getInstance();
2.设置日期为今天+1,即等于第二天。
c.add(Calendar.DAY_OF_MONTH, 1);
add就是加的时间,如果要前一天,可以传递-1
3.获取日期格式化工具类
java.text.SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
4.得到结果
String time = sdf.format(c.getTime())
System.out.println(time);
10. Android 在一个日期上增加100天得出的日期
Android 在一个日期上增加100天得出的日期
Date 数据类型,Date 变量存储为 IEEE 64 位(8 个字节)浮点数值形式,其可以表示的日期范围从 100 年 1 月 1 日到 9999 年 12 月 31 日,而时间可以从 0:00:00 到 23:59:59。任何可辨认的文本日期都可以赋值给 Date 变量。日期文字须以数字符号 (#) 扩起来,例如,#January 1, 1993# 或 #1 Jan 93#。