Spécifiez toujours Locale pour SimpleDateFormat!
Si Locale n'est pas spécifié, SimpleDateFormat peut être converti en fonction des paramètres régionaux du terminal. S'il s'agit d'un pays du Moyen-Orient, il a peut-être adopté un système appelé "Nombres indiens" [^ 1]. Ensuite, «20181004083133657» sera converti en «٢٠١٨١٠٠٤٠٨٣١٣٣٦٥٧».
Spécifiez toujours Locale.US
!
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS", Locale.US);
En passant, si vous définissez les paramètres régionaux sur new Locale (" ar "," EG ")
, ce phénomène peut être reproduit sur les appareils Android, mais pour une raison quelconque, il ne peut pas être reproduit sur macOS.
[^ 1]: [Nombres indiens-Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%83%89%E6%95%B0%E5 % AD% 97)
Recommended Posts