Proper Russian month string translation Java

后端 未结 5 1811
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-09 10:53

I want to convert a Date in to Russian and using the code below

SimpleDateFormat.getDateInstance(SimpleDateFormat.LONG,locale).format(date);
<
5条回答
  •  无人及你
    2020-12-09 11:49

    Sorry if my answer would not fully fit the question, but still' I'd like to share my way of solving the issue with translating the Date into Russian format.

    Had big headache with dealing with DateTime Locales and so on, I started to simply translate Weekdays and Months in String representation of original DateTime.

    String originalDate = "Tue, 22 Nov 2016 01:03:00 +0300";
    Log.d("Date in Russian",convertStringDateToRussian(linkText));
    
    public String convertStringDateToRussian(String mDate) {
    
        String[] engWeek = {
                "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
                "Sun"};
        String[] ruWeek = {
                "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота",
                "Воскресенье"};
        String[] engMonths = {
                "Jan", "Feb", "Mar", "Apr", "May", "Jun",
                "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
        String[] ruMonths = {
                "января", "февраля", "марта", "апреля", "мая", "июня",
                "июля", "августа", "сентября", "октября", "ноября", "декабря"};
        for (
                int t = 0;
                t < engWeek.length; t++)
    
        {
            if (mDate.contains(engWeek[t])) {
                mDate = mDate.replace(engWeek[t], ruWeek[t]);
                break;
            }
        }
    
        for (
                int t = 0;
                t < engMonths.length; t++)
    
        {
            if (mDate.contains(engMonths[t])) {
                mDate = mDate.replace(engMonths[t], ruMonths[t]);
                break;
            }
        }
    
        return mDate;
    }
    

提交回复
热议问题