كيفية تغيير تنسيق التاريخ في جافا [نسخة مكررة]

StackOverflow https://stackoverflow.com//questions/21042484

  •  21-12-2019
  •  | 
  •  

سؤال

لدي سلسلة وأحتاج إلى تحويلها حتى الآن بتنسيق "YYYY-mm-dd" وهو ما لا أستطيع القيام به.لقد قمت بمراجعة المنشور المماثل على stckoverflow لكنني لم أساعد لذا أقوم بنشر هذا الاستعلام.

String stringDate = "Dec 13, 2013";

أحتاج إلى تحويل هذا إلى Dime ReportDate = 2013-12-13 "؛عندما أستخدم تنسيق Simpledateformat، حصلت على تاريخ غير قابل للتحليل.الرجاء المساعدة

هل كانت مفيدة؟

المحلول

تحقق من هذا:

    try {
        SimpleDateFormat format1 = new SimpleDateFormat("MMM dd, yyyy");
        SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
        String stringDate = "Dec 13, 2013";

        Date date = format1.parse(stringDate);

        System.out.println(format2.format(date));
    } catch (ParseException exp) {
        // Take appropriate action
    }

انتاج:13-12-2013

نصائح أخرى

من المهارات المهمة جدًا في البرمجة أخذ المعلومات القريبة مما تحتاجه واستخدامها للعثور على ما تحتاجه.

انظر إلى الرابط في التعليقات ويمكنك أن ترى:

http://download.Oracle.com/javase/1.5.0/docs/api/Java/text/SimpleDateFormat.html

اقرأ ذلك وسيكون لديك ما تحتاجه لضبط الإجابة هناك لتعطي النتائج التي تريدها.

استخدم SimpleDateFormat هنا:new_date هو تاريخك

String stringDate = "Dec 13, 2013";
SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-DD"); 
Date new_date=format.parse(stringDate);
String date="Your date";
SimpleDateFormat format = new SimpleDateFormat("MMM DD, YYYY"); 
Date d= format.parse(date);
DateFormat newFormat = new SimpleDateFormat("YYYY-MM-DD");
System.out.println(newFormat.format(d));

سأفعل شيئًا مثل:

SimpleDateFormat parser = new SimpleDateFormat("MMM dd, yyyy");
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date reportDate = parser.parse(stringDate)
String result = formatter.format(reportDate);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top