Como chegar a string de formato de data e hora da atual Locale, como parâmetro para SimpleDateFormat

P5music:

Meu aplicativo Android quer exibir uma seqüência de data e hora e a cadeia de formato correspondente. Ele usa o SimpleDateFormat porque ele é compatível com os níveis de API do Android idade.

Calendar calendar=Calendar.getInstance();
formatString=getTheCurrentLocaleDateTimeFormatString();
SimpleDateFormat dateFormat = new SimpleDateFormat(formatString);
localeTimeString= dateFormat.format(calendar.getTimeInMillis());
displayToTheUser(localeTimeString);
displayToTheUser(formatString);

por exemplo, o usuário recebe: "Qua, 04 de julho de 2001 0:08:56" e "EEE, d MMM aaaa HH: mm: ss"

O trecho de código fornecido tem a intenção de obter o formulário de data e hora de acordo com a localidade, mas eu não sei como obtê-lo também como uma seqüência de formato. Deve ser calculado pelo método getTheCurrentLocaleDateTimeFormatString () acima.

Vejo que muitos padrões da corda do formato estão disponíveis.

Esta é a página de documentação relevante:

https://developer.android.com/reference/java/text/SimpleDateFormat#examples

Sendo que eu quero mostrar que string de formato para o usuário como um modelo e usá-lo como um parâmetro para SimpleDateFormat minha pergunta é: como faço para obter a cadeia de formato padrão de data e hora de localidade do atual?

Arvind Kumar Avinash:

Você pode fazê-lo da seguinte forma:

SimpleDateFormat getTheCurrentLocaleDateTimeFormatString() {
    return (SimpleDateFormat) DateFormat.getDateInstance(DateFormat.FULL, Locale.getDefault());
}

Um programa de teste:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat dateFormat = getTheCurrentLocaleDateTimeFormatString();
        String localeTimeString = dateFormat.format(calendar.getTimeInMillis());
        System.out.println(localeTimeString);
    }

    static SimpleDateFormat getTheCurrentLocaleDateTimeFormatString() {
        return (SimpleDateFormat) DateFormat.getDateInstance(DateFormat.FULL, Locale.getDefault());
    }
}

Resultado:

Sunday, 12 January 2020

[Atualizar]

Postando o seguinte código com base em seu comentário:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        Calendar calendar=Calendar.getInstance();
        String formatString=getTheCurrentLocaleDateTimeFormatString();
        System.out.println(formatString);
        SimpleDateFormat dateFormat = new SimpleDateFormat(formatString);
        String localeTimeString= dateFormat.format(calendar.getTimeInMillis());
        System.out.println(localeTimeString);
    }

    static String getTheCurrentLocaleDateTimeFormatString() {
        return ((SimpleDateFormat) DateFormat.getDateInstance(DateFormat.FULL, Locale.getDefault())).toLocalizedPattern();
    }
}

Resultado:

EEEE, d MMMM y
Sunday, 12 January 2020

[Outro update]

Postando o código a seguir com base no seu outro comentário:

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        String formatString = getTheCurrentLocaleDateTimeFormatString();
        System.out.println(formatString);
        SimpleDateFormat dateFormat = new SimpleDateFormat(formatString);
        String localeTimeString = dateFormat.format(calendar.getTimeInMillis());
        System.out.println(localeTimeString);
    }

    static String getTheCurrentLocaleDateTimeFormatString() {
        return ((SimpleDateFormat) DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL,
                Locale.getDefault())).toLocalizedPattern();
    }
}

Resultado:

EEEE, d MMMM y 'at' HH:mm:ss zzzz
Sunday, 12 January 2020 at 20:28:05 Greenwich Mean Time

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=363462&siteId=1
Recomendado
Clasificación