ในแอปพลิเคชัน Android ของฉัน ฉันกำลังส่งวันที่ในรูปแบบ 05/03/2017 ในบริการบนเว็บเพื่อรับการตอบกลับ ตอนนี้ถ้าฉันเปลี่ยนภาษาในโทรศัพท์เป็นภาษาอาหรับ วันที่จะถูกส่งเป็นภาษาอาหรับ แล้วฉันจะแปลงวันที่ในภาษาอาหรับเป็นรูปแบบเช่น 05/03/2017 ได้อย่างไร
วิธีแปลงวันที่จากอารบิกเป็นรูปแบบตัวเลขปกติเช่น 05/03/2017
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
ใช่ แต่เซิร์ฟเวอร์จะไม่มีการส่งคืนข้อมูลเนื่องจากไม่ได้จัดการข้อมูลดังกล่าว ฉันจึงต้องแปลงเป็นรูปแบบภาษาอังกฤษ
- person Shubham Raitka; 03.05.2017
ดังนั้น ฉันคิดว่านั่นอาจเป็นปัญหาของรูปแบบที่คุณได้แตกต่างจากเว็บที่ต้องการ ให้ลองใช้ Locale.Root หรือ Locale.getDefault() เป็นพารามิเตอร์
- person Hancock; 03.05.2017