android 中 系统日期时间的获取和日期的转换

来源:互联网 发布:天猫商城的网络推广 编辑:程序博客网 时间:2024/05/20 13:36

转:

http://blog.csdn.net/feifei454498130/article/details/6540133


[java] view plain copy
 print?
  1. import    java.text.SimpleDateFormat;       
  2.        
  3. SimpleDateFormat    formatter    =   new    SimpleDateFormat    ("yyyy年MM月dd日    HH:mm:ss     ");       
  4. Date    curDate    =   new    Date(System.currentTimeMillis());//获取当前时间       
  5. String    str    =    formatter.format(curDate);       
 

可以获取当前的年月时分,也可以分开写:


[java] view plain copy
 print?
  1. SimpleDateFormat    sDateFormat    =   new    SimpleDateFormat("yyyy-MM-dd    hh:mm:ss");       
  2. String    date    =    sDateFormat.format(new    java.util.Date());    
 

    如果想获取当前的年月,则可以这样写(只获取时间或秒种一样):

    Java代码

    [java] view plain copy
     print?
    1. SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM");    
    2. String date=sdf.format(new <a href="http://lib.csdn.net/base/javase" class='replace_word' title="Java SE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.util.Date());    

    当然还有就是可以指定时区的时间(待):

    [java] view plain copy
     print?
    1. df=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,Locale.CHINA);  
    2. System.out.println(df.format(new Date()));  
     

     

    如何获取Android系统时间是24小时制还是12小时制

           

    [java] view plain copy
     print?
    1. ContentResolver cv = this.getContentResolver();  
    2.        String strTimeFormat = <a href="http://lib.csdn.net/base/android" class='replace_word' title="Android知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Android</a>.provider.Settings.System.getString(cv,  
    3.                                           android.provider.Settings.System.TIME_12_24);  
    4.         
    5.        if(strTimeFormat.equals("24"))  
    6.       {  
    7.               Log.i("activity","24");  
    8.        }  
     

     

    [java] view plain copy
     print?
    1. Calendar c = Calendar.getInstance();  
    2. 取得系统日期:year = c.get(Calendar.YEAR)  
    3.                month = c.grt(Calendar.MONTH)  
    4.                day = c.get(Calendar.DAY_OF_MONTH)  
    5. 取得系统时间:hour = c.get(Calendar.HOUR_OF_DAY);  
    6.                   minute = c.get(Calendar.MINUTE)  

     

     

    利用Calendar获取


    [java] view plain copy
     print?
    1. Calendar c = Calendar.getInstance();  
    2. 取得系统日期:year = c.get(Calendar.YEAR)  
    3.                month = c.grt(Calendar.MONTH)  
    4.                day = c.get(Calendar.DAY_OF_MONTH)  
    5. 取得系统时间:hour = c.get(Calendar.HOUR_OF_DAY);  
    6.                   minute = c.get(Calendar.MINUTE)  
    7.                     Calendar c = Calendar.getInstance();  
    8. 取得系统日期:year = c.get(Calendar.YEAR)  
    9.                    month = c.grt(Calendar.MONTH)  
    10.                    day = c.get(Calendar.DAY_OF_MONTH)  
    11. 取得系统时间:hour = c.get(Calendar.HOUR_OF_DAY);  
    12.                      minute = c.get(Calendar.MINUTE)  

     

     

    利用Time获取

    [java] view plain copy
     print?
    1. Time t=new Time(); // or Time t=new Time("GMT+8"); 加上Time Zone资料。  
    2. t.setToNow(); // 取得系统时间。  
    3. int year = t.year;  
    4. int month = t.month;  
    5. int date = t.monthDay;  
    6. int hour = t.hour; // 0-23  
    7. int minute = t.minute;  
    8. int second = t.second;  


    唯一不足是取出时间只有24小时模式


    日期的格式化demo:

    日期格式化通常使用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());


    0 0
    原创粉丝点击