【问题标题】:how to convert a string(Date) to gregorian calendar in android如何在android中将字符串(日期)转换为公历
【发布时间】:2014-11-09 20:32:06
【问题描述】:

我有一个像 14-9-2014 这样的字符串,我想将其转换为公历,我已经搜索并尝试了很多方法,但我无法找到任何解决方案,所以谁能告诉我如何转换它?谢谢

【问题讨论】:

标签: android datetime simpledateformat gregorian-calendar


【解决方案1】:

使用 SimpleDateFormat 解析日期,然后将其分配给日历。

DateFormat df = new SimpleDateFormat("dd MM yyyy");
Date date = df.parse("14-9-2014");
Calendar cal = Calendar.getInstance();
cal.setTime(date);

第三行可以替换为:

Calendar cal = new GregorianCalendar();

【讨论】:

    【解决方案2】:

    看看这个link

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd HH:mm:ss");    
    Calendar calendar = new GregorianCalendar(2014,9,14,12,51,56);
    
    int year       = calendar.get(Calendar.YEAR);
    int month      = calendar.get(Calendar.MONTH); // Jan = 0, dec = 11
    int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); 
    int dayOfWeek  = calendar.get(Calendar.DAY_OF_WEEK);
    int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
    int weekOfMonth= calendar.get(Calendar.WEEK_OF_MONTH);
    
    int hour       = calendar.get(Calendar.HOUR);        // 12 hour clock
    int hourOfDay  = calendar.get(Calendar.HOUR_OF_DAY); // 24 hour clock
    int minute     = calendar.get(Calendar.MINUTE);
    int second     = calendar.get(Calendar.SECOND);
    int millisecond= calendar.get(Calendar.MILLISECOND);
    
    System.out.println(sdf.format(calendar.getTime()));
    
    System.out.println("year \t\t: " + year);
    System.out.println("month \t\t: " + month);
    System.out.println("dayOfMonth \t: " + dayOfMonth);
    System.out.println("dayOfWeek \t: " + dayOfWeek);
    System.out.println("weekOfYear \t: " + weekOfYear);
    System.out.println("weekOfMonth \t: " + weekOfMonth);
    
    System.out.println("hour \t\t: " + hour);
    System.out.println("hourOfDay \t: " + hourOfDay);
    System.out.println("minute \t\t: " + minute);
    System.out.println("second \t\t: " + second);
    System.out.println("millisecond \t: " + millisecond);
    

    【讨论】:

      【解决方案3】:

      试试这个:

      SimpleDateFormat formatter = new SimpleDateFormat("dd-M-yyyy", context.getResources().getConfiguration().locale);
      
      Date date = formatter.parse("14-9-2014");
      Calendar c = new GregorianCalendar();
      c.setTime(date);
      

      【讨论】:

        猜你喜欢
        • 2015-11-22
        • 2014-11-06
        • 1970-01-01
        • 1970-01-01
        • 2018-12-23
        • 2012-01-24
        • 1970-01-01
        • 2010-09-07
        • 1970-01-01
        相关资源
        最近更新 更多