Android 时间获取及格式化
16lz
2021-01-23
Android中获取系统时间有多种方法,可分为Java中Calendar类获取,java.util.date类实现,还有android中Time实现
现总结如下:
//一 long time=System.currentTimeMillis();//long now = android.os.SystemClock.uptimeMillis(); SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d1=new Date(time); String t1=format.format(d1); Log.e("msg", t1);//二 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss"); String t=format.format(new Date()); Log.e("msg", t); //三 Calendar calendar = Calendar.getInstance(); String created = calendar.get(Calendar.YEAR) + "年" + (calendar.get(Calendar.MONTH)+1) + "月"//从0计算 + calendar.get(Calendar.DAY_OF_MONTH) + "日" + calendar.get(Calendar.HOUR_OF_DAY) + "时" + calendar.get(Calendar.MINUTE) + "分"+calendar.get(Calendar.SECOND)+"s"; Log.e("msg", created); //四 Time t=new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone资料。 t.setToNow(); // 取得系统时间。 String time=t.year+"年 "+(t.month+1)+"月 "+t.monthDay+"日 "+t.hour+"h "+t.minute+"m "+t.second; Log.e("msg", time);
最后说一下日期格式化,日期格式化通常使用SimpleDateFormat类实现,其中的日期格式不能够自己随意定义,主要有以下几种形式:
SimpleDateFormat f1= new SimpleDateFormat(); //其中没有些格式化参数,我们使用默认的日期格式。System.out.println(f.formate(new Date()));
代码输出的日期格式为:12-3-22 下午4:36
SimpleDateFormat f4= new SimpleDateFormat("今天是"+"yyyy年MM月dd日 E kk点mm分");//可根据不同样式请求显示不同日期格式,要显示星期可以添加E参数System.out.println(f4.format(new Date()));
代码输出的日期格式为:今天是2012年03月22日 星期四 16点46分
SimpleDateFormat formater = new SimpleDateFormat("yyyyMMdd hh:mm:ss"); System.out.println("Date to String "+formater.format(new Date()));
相近的常用形式还有 yyMMdd hh:mm:ss yyyy-MM-dd hh:mm:ss dd-MM-yyyy hh:mm:ss
有的时候通常还会需要把具体日期转换为毫秒或者Timestamp形式,如下:
文本 - > Timestamp,日期 -> Timestamp
Timestamp t ; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); try ...{ t = new Timestamp(format.parse("2007-07-19 00:00:00").getTime()); } catch (ParseException e) ...{ e.printStackTrace(); } Timestamp t ; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); t = new Timestamp(new Date().getTime());
日期比较,转换处理
public void compareToNowDate(Date date){ Date nowdate=new Date(); //format date pattern SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //convert to millions seconds long time=DateToLong(StringToDate(formatter.format(nowdate))); long serverTime=DateToLong(date); //convert to seconds long minTime=Math.abs(time-serverTime)/1000; Log.d(getLocalClassName(), "minTime= "+minTime); } private long DateToLong(Date time){ SimpleDateFormat st=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//yyyyMMddHHmmss return Long.parseLong(st.format(time)); } private Date StringToDate(String s){ Date time=null; SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { time=sd.parse(s); } catch (java.text.ParseException e) { System.out.println("输入的日期格式有误!"); e.printStackTrace(); } return time; }
//计算日期之间相隔几天: public long compareDataToNow(String date){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date passDate,nowDate; long diff=-100l,days=-100l; try { passDate = sdf.parse(date); String nowStr=sdf.format(new Date()); nowDate=sdf.parse(nowStr); diff = passDate.getTime() - nowDate.getTime(); days = diff / (1000 * 60 * 60 * 24); System.out.println( "相隔:"+days+"天"); } catch (ParseException e) { e.printStackTrace(); } return diff; }
更多相关文章
- android开发之res下的menu (xml+代码的形式)
- Android 银行卡手机号带空格格式
- android studio 日期选择DatePickerDialog取值
- android wav 去头信息转化成pcm 格式数据
- android EditText 设置输入的文字的格式方式
- android下通过xstream解析xml格式信息
- Android中实现日期时间选择器(DatePicker和TimePicker)
- Android 取出 图片以字节形式存放到数据库的数据,并将图片显示