วิธีแปลงวันที่จากอารบิกเป็นรูปแบบตัวเลขปกติเช่น 05/03/2017

ในแอปพลิเคชัน Android ของฉัน ฉันกำลังส่งวันที่ในรูปแบบ 05/03/2017 ในบริการบนเว็บเพื่อรับการตอบกลับ ตอนนี้ถ้าฉันเปลี่ยนภาษาในโทรศัพท์เป็นภาษาอาหรับ วันที่จะถูกส่งเป็นภาษาอาหรับ แล้วฉันจะแปลงวันที่ในภาษาอาหรับเป็นรูปแบบเช่น 05/03/2017 ได้อย่างไร


person Shubham Raitka    schedule 03.05.2017    source แหล่งที่มา
comment
โปรดระบุรหัสเกี่ยวกับวิธีการดึงข้อมูลวันที่   -  person Arpan Sharma    schedule 03.05.2017
comment
รูปแบบภาษาอาหรับเป็นยังไงบ้าง? ขอยกตัวอย่าง!!! คุณได้รับมันจากบริการเว็บได้อย่างไร?   -  person matrix    schedule 03.05.2017
comment
ลิงค์นี้ควรจะเป็นประโยชน์ แปลงวันที่   -  person jai khambhayta    schedule 03.05.2017


คำตอบ (3)


ขอบคุณสำหรับคำตอบ แต่ฉันมีวิธีแก้ไขแล้ว

ฉันมีตัวแปรสตริง currentFormattedDate ซึ่งมีวันที่เป็นภาษาอาหรับ ตอนนี้ฉันต้องแปลงสิ่งนี้เป็น MM/dd/yyyy เป็นภาษาอังกฤษก่อนที่จะส่งใน Web Service

ดังนั้นนี่คือสิ่งที่ฉันทำ: -

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Date date = sdf.parse(currentFormattedDate);
SimpleDateFormat finalDateFormat = new SimpleDateFormat("MM/dd/yyyy",Locale.US);
finalDate = finalDateFormat.format(date);

ขั้นแรกฉันแปลงวันที่สตริงอารบิกเป็นอ็อบเจ็กต์ Date จากนั้นแปลงเป็นรูปแบบที่ฉันต้องการโดยมี Locale เป็น US ตามที่ฉันต้องการในภาษาอังกฤษ ตอนนี้ฉันผ่าน FinalDate นี้และได้รับคำตอบที่ถูกต้อง

person Shubham Raitka    schedule 03.05.2017

ใช้ Locale.ROOT เมื่อคุณสร้างอาร์กิวเมนต์สำหรับการเรียก API ตัวอย่างเช่น,

new SimpleDateFormat("dd/MM/yyyy", Locale.ROOT)
person Joni    schedule 03.05.2017

ข้อความที่คุณส่งควรอยู่ในรูปแบบ String ใช่ไหม? ดังนั้นจึงไม่มีปัญหาใด ๆ เกิดขึ้นหากคุณเปลี่ยนภาษาของโทรศัพท์

person Hancock    schedule 03.05.2017
comment
ใช่ แต่เซิร์ฟเวอร์จะไม่มีการส่งคืนข้อมูลเนื่องจากไม่ได้จัดการข้อมูลดังกล่าว ฉันจึงต้องแปลงเป็นรูปแบบภาษาอังกฤษ - person Shubham Raitka; 03.05.2017
comment
ดังนั้น ฉันคิดว่านั่นอาจเป็นปัญหาของรูปแบบที่คุณได้แตกต่างจากเว็บที่ต้องการ ให้ลองใช้ Locale.Root หรือ Locale.getDefault() เป็นพารามิเตอร์ - person Hancock; 03.05.2017