android 时间获取以及时间格式化

xiaoxiao2021-02-27  337

Android中获取系统时间有多种方法,可分为Java中Calendar类获取,java.util.date类实现,还有android中Time实现

现总结如下:

方法一;

[java]  view plain  copy   void getTime1(){           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);       }   方法二;

[java]  view plain  copy   SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");           String t=format.format(new Date());           Log.e("msg", t);   方法三;

[java]  view plain  copy   void getTime3(){       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);      }   方法四;

[java]  view plain  copy   void getTime4(){           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);       }  

获取星期日期:

[java]  view plain  copy   Calendar calendar = Calendar.getInstance();               int day = calendar.get(Calendar.DAY_OF_WEEK);               String today = null;               if (day == 2) {                   today = "Monday";               } else if (day == 3) {                   today = "Tuesday";               } else if (day == 4) {                   today = "Wednesday";               } else if (day == 5) {                   today = "Thursday";               } else if (day == 6) {                   today = "Friday";               } else if (day == 7) {                   today = "Saturday";               } else if (day == 1) {                   today = "Sunday";               }               System.out.println("Today is:- " + today);  

最后说一下日期格式化,日期格式化通常使用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());

日期比较,转换处理

[java]  view plain  copy 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;       }   [java]  view plain  copy //计算日期之间相隔几天:       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;       }  
转载请注明原文地址: https://www.6miu.com/read-3519.html

最新回复(0)