【问题标题】:changing string to Calendar object value.将字符串更改为日历对象值。
【发布时间】:2014-12-04 13:03:34
【问题描述】:

我有string date = "2014-09-11"

我想将此字符串设置为日历对象。

字符串值中已经有“-”。那么如何使用日期格式呢?

【问题讨论】:

标签: android android-layout android-activity android-date


【解决方案1】:

你应该使用日期格式来解析你的字符串

String dateStr = "2014-09-11";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
DateTime date = format.parse(dateStr);
Calendar cal = Calendar.getInstance();
cal.setTime(date);

【讨论】:

    【解决方案2】:

    试试这个代码:

    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    String dateInString = "2014-09-11";
    
    try {
    
        Date date = formatter.parse(dateInString);
        System.out.println(date);
        System.out.println(formatter.format(date));
    
    } catch (ParseException e) {
        e.printStackTrace();
    }
    

    【讨论】:

      【解决方案3】:

      试试这个

          String date = "2014-09-11";
          String dt[]=date.split("-");
          Calendar cal=Calendar.getInstance();
          cal.add(Calendar.DATE, Integer.parseInt(dt[2]));
          cal.add(Calendar.MONTH,Integer.parseInt(dt[1]));
          cal.add(Calendar.YEAR,Integer.parseInt(dt[0]));
      
          System.out.print(cal.getTime().toString());
      

      【讨论】:

      • 应该是cal.set(),现在你正在添加到当前日历。此外,Calendar.MONTH 是从 0 到 11,所以那里也应该有 -1(使用 set 时)。
      猜你喜欢
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      相关资源
      最近更新 更多