android日期时间的获取与时差计算

时间的获取

获取当前的年月时分:

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd    hh:mm:ss");
        String date = sDateFormat.format(new java.util.Date());

也可以分开写

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 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())); 

利用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)  

利用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; 

如何获取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");  
       }  

计算时差

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
   Date d1 = df.parse("2006-05-26 12:00:00");
   Date d2 = df.parse("2006-07-02 11:20:00");
   //Date   d2 = new   Date(System.currentTimeMillis());//你也可以获取当前时间     
   long diff = d1.getTime() - d2.getTime();//这样得到的差值是微秒级别
   long days = diff / (1000 * 60 * 60 * 24);
   long hours = (diff-days*(1000 * 60 * 60 * 24))/(1000* 60 * 60);
   long minutes = (diff-days*(1000 * 60 * 60 * 24)-hours*(1000* 60 * 60))/(1000* 60);

   System.out.println(""+days+"天"+hours+"小时"+minutes+"分");
}
catch (Exception e)
{
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值