Pegar formato de data padrão do windows

5 respostas
T

Dae pessoal, gostaria de saber como faço para pegar o formato padrão de data do Windows…

Desde já agradeço.

vlw

5 Respostas

s4nchez

Esta configuração é específica do windows, então provavelmente você só vai conseguir obtê-la via JNI.

No entanto, se o que você quer apenas formatar e internacionalizar o código, aqui vai um exemplo:

String resultado;
SimpleDateFormat formatter;
formatter = new SimpleDateFormat("EEEE',' dd 'de' MMMM 'de' yyyy", Locale.getDefault());
resultado = formatter.format(new Date());
System.out.println("Data: " + resultado);
T

Eh q nao queria fazer isso, quero algum método q me retorne o formato de data padrão do sistema operacional…
Por exemplo: “dd/mm/yyyy”

Um abraço

drix

Tente isto:

Date data = new Date();
Locale locale = Locale.getDefault(); //Pega as configuracoes regionais do Sistema Operacional.
DateFormat dt = DateFormat.getDateInstance(DateFormat.SHORT,locale);
System.out.println(dt.format(data));

Maiores informações consulte:
Especificações da API
http://java.sun.com/j2se/1.5.0/docs/api/index.html

Tutorial interessante da WebInsider (em pt):
http://webinsider.uol.com.br/vernoticia.php/id/90

seudito

Olá pessoal,

Recentemente me surgiu a necessidade de formatar a data obtida de um select (SQL) no formato padrão configurado no desktop do usuário antes de exibi-la. Com as informações aqui do fórum cheguei à seguinte solução:

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


public class TestData {

	public static void main(String[] args){
		String dataBD = "2006-01-01 00:00:00.000";
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");  
		java.util.Date newDate = null;
		try {
			newDate = (java.util.Date) df.parse(dataBD);
		} catch (ParseException e) {
			System.err.println("Erro "+e.getMessage());
		}
		Locale locale = Locale.getDefault(); //Pega as configuracoes regionais do Sistema Operacional.   
		DateFormat dt = DateFormat.getDateInstance(DateFormat.SHORT,locale);  
		System.out.println(dt.format(newDate));
	}
}
romulo_wan

tenho um método que entra uma data em String. Você indica o formato dela e o formato de saida.

public static String formatData(String data, String formatEntrada, String formatSaida){ try { Date dataAux = new SimpleDateFormat(formatEntrada).parse(data); return new SimpleDateFormat(formatSaida).format(dataAux); } catch (ParseException e) { e.printStackTrace(); return null; } }
queria pegar o formato do sistema dessa forma em String para utilizar nesse método.

(data, "M/d/yyyy" , "MM/yyyy").
dessa forma funciona… mais queria de forma mais dinâmica caso algum pateta mude o formato do servidor … exemplo…

(data, formtServer , "MM/yyyy").
já tentei com

Locale local = Locale.getDefault(); //Pega as configuracoes regionais do Sistema Operacional. DateFormat dtf = DateFormat.getDateInstance(DateFormat.DEFAULT, local);
mais ainda não cheguei nos finalmente.

Criado 16 de junho de 2006
Ultima resposta 13 de nov. de 2013
Respostas 5
Participantes 5