【问题标题】:Android - How can I split the date format to year, month and day from String to int?Android - 如何将日期格式从字符串拆分为年、月和日?
【发布时间】:2013-05-15 10:43:55
【问题描述】:

我想问我是否有字符串格式的dd/mm/yyyy日期,我想将它拆分为int year、int month和int day,怎么做。

除此之外,字符串日期(dd/mm/yyyy)存储在 SQLite 中。

【问题讨论】:

    标签: android sqlite simpledateformat


    【解决方案1】:

    你也这样分

    String date="dd/mm/yyyy";
    String[] items1 = date.split("/");
    String date1=items1[0];
    String month=items1[1];
    String year=items1[2];
    

    【讨论】:

    • 现在它可以工作了。很好,你编辑了你的帖子。 // 拆分错误
    【解决方案2】:

    这是我做的...谢谢以上答案作为参考~~ ^^

    String insertDate = EventListAdapter.KEY_DATE;
    String[] items1 = insertDate.split("/");
                String d1=items1[0];
                String m1=items1[1];
                String y1=items1[2];
                int d = Integer.parseInt(d1);
                int m = Integer.parseInt(m1);
                int y = Integer.parseInt(y1);
    

    【讨论】:

      【解决方案3】:
      public static void main(String[] args) {
      
              String startDateString = "01/26/2013";
              DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 
              Date startDate=null;
              String newDateString = null;
              try 
              {
                  startDate = df.parse(startDateString);
                  System.out.println("month===>>>"+(startDate.getMonth()+1));
                  System.out.println("date===>>>"+startDate.getDate());
                  System.out.println("year===>>>"+(startDate.getYear()+1900));
      
              } catch (Exception e)//(ParseException e) 
              {
                  e.printStackTrace();
              }
          }
      

      【讨论】:

        【解决方案4】:

        使用字符串对象的Split方法,将生成的字符串转换为int

        http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String)

        如果可能,如果您存储从 Calendar.getTimeInMilliseconds 获得的 Long 日期值,您会发现日期处理更容易

        将日期存储为字符串而不考虑区域设置会在以后引发错误。

        【讨论】:

          【解决方案5】:
          SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 
          
           Date d = df.parse("String date (dd/mm/yyyy) is stored in the SQLite");
          
           int month = d.getMonth();
          
           int day= d.getDay();
          
           int year = d.getYear();
          

          【讨论】:

          • 现在已弃用
          【解决方案6】:

          日期非常微妙。通常,日期必须与位置(时区)相关。

          要么使用 Java 提供的类(如 Date 和 Calendar)以及 TimeZone 将字符串正确解释为真实的日期对象,或者如果您根本不关心该日期的位置,则可以使用 String.split( ) 来获取一个数组,检查正确的形式并在每个部分上调用 Interger.valueOf。

          【讨论】:

            【解决方案7】:

            使用“/”分割字符串

            String s= "15/5/2013";
            String arr[] =s.split("/");
            System.out.println("Date = "+arr[0]);
            System.out.println("Month = "+arr[1]);
            System.out.println("Year = "+arr[2]);
            

            输出

            Date = 15
            Month = 5
            Year = 2013
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2022-10-13
              • 1970-01-01
              • 1970-01-01
              • 2015-04-29
              • 1970-01-01
              • 2011-05-11
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多