代码之家  ›  专栏  ›  技术社区  ›  stoesselleon

SimpleDataFormat字符串到星期几

  •  1
  • stoesselleon  · 技术社区  · 7 年前

    String . 我拿到了 Date DatePickerDialog .

    我的活动以 ListView 为此,我想按日期订购,并从每个 .

    一串 SimpleDateFormat ParseException .

    这就是 一串 我在数据库中插入:

     private void handleDateDialog() {
        setDate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Calendar cal = Calendar.getInstance();
                int year = cal.get(Calendar.YEAR);
                int month = cal.get(Calendar.MONTH);
                int day = cal.get(Calendar.DAY_OF_MONTH);
    
                DatePickerDialog dialog = new DatePickerDialog(CreateEvent.this,android.R.style.Theme_Holo_Light_Dialog_MinWidth,dateSetListener,year,month,day);
    
                dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
                dialog.show();
            }
        });
    
        dateSetListener = new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker datePicker, int year, int month, int day) {
                month += 1;
                String input = day + "-" + month + "-" + year;
                dateSelected.setText(input);
            }
        };
    }
    

    这是我通过阅读其他问题从堆栈溢出中得到的:

    public String getDayOfWeek(){
        String eventDate = this.getDate();
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
        try {
            Date myDate = dateFormat.parse(eventDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        dateFormat.applyPattern("EE");
        String dayofweek = dateFormat.format(date);
        return dayofweek;
    }
    

    这就是我如何尝试获得新的 一串 dayOfWeek进入我的 :

    try {
        holder.day_of_week.setText(individualEvent.getDayOfWeek());
    } catch (Exception e) {
        e.printStackTrace();
    }
    

    但我在Android Monitor中经常遇到这样的错误:

    Java语言lang.IllegalArgumentException:无法将给定对象格式化为日期

    何时显示我的日期 它显示如下: 28-10-2017

    我不知道为什么这是不可形成的。

    3 回复  |  直到 7 年前
        1
  •  -1
  •   Nikhil Jadhav    7 年前

    public String getDayOfWeek(){
        String eventDate = this.getDate();
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
        try {
            Date myDate = dateFormat.parse(eventDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        dateFormat.applyPattern("EE");
        String dayofweek = dateFormat.parse(myDate);
        return dayofweek;
    }
    
        2
  •  -1
  •   Niraj Sanghani    7 年前

    使用以下方法: 保持格式标准,所有人都一样

     /**
         * Parses @date to String in provided @format
         *
         * @param date   Date
         * @param format Convert to Format
         * @return formatted date string
         */
        public static String DateToString(Date date, String format) {
            if (date != null) {
                try {
                    DateFormat dateFormat = new SimpleDateFormat(format);
                    return dateFormat.format(date);
                } catch (Exception e) {
                    e.printStackTrace();
                    return "";
                }
            } else {
                return "";
            }
        }
     /**
         * Parses String to date in provided {@link Format } as String
         *
         * @param date   String date
         * @param format Format
         * @return Date
         */
        public static Date StringToDate(String date, String format) {
            if (date != null && !date.isEmpty() && date.length() > 0) {
                try {
                    DateFormat dateFormat = new SimpleDateFormat(format);
                    return dateFormat.parse(date);
                } catch (Exception e) {
                    e.printStackTrace();
                    return null;
                }
            } else {
                return null;
            }
        }
    
        /**
         * Parses date String to date String in provided {@link Format } fromFormat to toFormat as String
         *
         * @param date       String date
         * @param fromFormat fromFormat
         * @param toFormat   toFormat
         * @return Format String date
         */
        public static String StringToString(String date, String fromFormat, String toFormat) {
            if (date != null && !date.isEmpty()) {
                try {
                    SimpleDateFormat formatter = new SimpleDateFormat(fromFormat);
                    Date tempDate = formatter.parse(date);
                    DateFormat dateFormat = new SimpleDateFormat(toFormat);
                    return dateFormat.format(tempDate);
                } catch (Exception e) {
                    e.printStackTrace();
                    return "";
                }
            } else {
                return "";
            }
        }
    
        3
  •  -1
  •   Nikhil Jadhav    7 年前

     SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");