it-swarm.com.ru

Получить текущее время и дату на Android

Как узнать текущее время и дату в приложении для Android?

960
M7M

Вы можете использовать:

import Java.util.Calendar

Date currentTime = Calendar.getInstance().getTime();

В календаре достаточно констант для всего, что вам нужно.

Правка:
Check документация к календарному классу

1136
user658042

Вы можете (но больше не должен - см. Ниже!) Использовать Android.text.format.Time :

Time now = new Time();
now.setToNow();

Из ссылки, указанной выше:

Класс Time - более быстрая замена для Java.util.Calendar и Классы Java.util.GregorianCalendar . Экземпляр класса Time представляет момент времени, указанный со второй точностью.


ПРИМЕЧАНИЕ 1: Прошло несколько лет с тех пор, как я написал этот ответ, Он касается старого, специфичного для Android класса, а теперь устарел. .. Google сейчас говорит что "[t] его класс имеет ряд проблем, и вместо него рекомендуется использовать GregorianCalendar ".


NOTE 2: Несмотря на то что класс Time имеет метод toMillis(ignoreDaylightSavings), это просто удобство для перехода к методам, которые ожидают время в миллисекундах. Значение времени только с точностью до одной секунды; часть миллисекунд всегда 000. Если в цикле вы делаете

Time time = new Time();   time.setToNow();
Log.d("TIME TEST", Long.toString(time.toMillis(false)));
... do something that takes more than one millisecond, but less than one second ...

Результирующая последовательность будет повторять одно и то же значение, например 1410543204000, до тех пор, пока не начнется следующая секунда, после чего 1410543205000 начнет повторяться.

480
Thomas Padron-McCarthy

Если вы хотите получить дату и время по определенному шаблону, вы можете использовать следующее:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
String currentDateandTime = sdf.format(new Date());
310
Miciurash

Для тех, кто предпочитает индивидуальный формат, вы можете использовать:

DateFormat df = new SimpleDateFormat("EEE, d MMM yyyy, HH:mm");
String date = df.format(Calendar.getInstance().getTime());

Принимая во внимание, что вы можете иметь шаблоны DateFormat, такие как:

"yyyy.MM.dd G 'at' HH:mm:ss z" ---- 2001.07.04 AD at 12:08:56 PDT
"hh 'o''clock' a, zzzz" ----------- 12 o'clock PM, Pacific Daylight Time
"EEE, d MMM yyyy HH:mm:ss Z"------- Wed, 4 Jul 2001 12:08:56 -0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"------- 2001-07-04T12:08:56.235-0700
"yyMMddHHmmssZ"-------------------- 010704120856-0700
"K:mm a, z" ----------------------- 0:08 PM, PDT
"h:mm a" -------------------------- 12:08 PM
"EEE, MMM d, ''yy" ---------------- Wed, Jul 4, '01
197
ANemati

На самом деле безопаснее установить текущий часовой пояс, установленный на устройстве, с помощью Time.getCurrentTimezone(), иначе вы получите текущее время в UTC.

Time today = new Time(Time.getCurrentTimezone());
today.setToNow();

Затем вы можете получить все нужные поля даты, например:

textViewDay.setText(today.monthDay + "");             // Day of the month (1-31)
textViewMonth.setText(today.month + "");              // Month (0-11)
textViewYear.setText(today.year + "");                // Year 
textViewTime.setText(today.format("%k:%M:%S"));  // Current time

См. Android.text.format.Time class для всех деталей.

ОБНОВЛЕНИЕ

Как отмечают многие, Google говорит, что у этого класса есть ряд проблем, и он больше не должен использоваться:

Этот класс имеет ряд проблем, и рекомендуется Вместо этого используется GregorianCalendar.

Известные вопросы:

По историческим причинам при выполнении расчетов времени все арифметика в настоящее время происходит с использованием 32-разрядных целых чисел. Это ограничивает надежный временной диапазон, представленный с 1902 до 2037 года. См. статья в Википедии о проблеме 2038 года для деталей. Не надейтесь это поведение; это может измениться в будущем. Вызов switchTimezone (String) на дату, которая не может существовать, например на стене время, которое было пропущено из-за перехода на летнее время, приведет к дате в 1969 г. (т.е. -1 или за 1 секунду до 1 января 1970 г. по Гринвичу). Многое из форматирование/синтаксический анализ предполагает использование ASCII текста и поэтому не подходит для использования с не-ASCII скриптами.

124
kaneda

Для текущей даты и времени используйте:

String mydate = Java.text.DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime());

Какие выводы:

Feb 27, 2012 5:41:23 PM
75
Kirit

Попробуйте таким способом. Все форматы приведены ниже, чтобы получить формат даты и времени.

    Calendar c = Calendar.getInstance();
    SimpleDateFormat dateformat = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss aa");
    String datetime = dateformat.format(c.getTime());
    System.out.println(datetime);

first

second third

52
Amitsharma

Для получения текущего времени вы можете использовать функцию System.currentTimeMillis(), которая является стандартной в Java. Тогда вы можете использовать его для создания даты

Date currentDate = new Date(System.currentTimeMillis());

И как уже упоминалось другими, чтобы создать время

Time currentTime = new Time();
currentTime.setToNow();
47
JosephL

Вы можете использовать код:

Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = sdf.format(c.getTime());

Результат:

2014-11-11 00:47:55

Вы также можете получить дополнительные параметры форматирования для SimpleDateFormat из здесь .

35
Himanshu Aggarwal

Легко, вы можете разделить время, чтобы получить отдельные значения для текущего времени, следующим образом:

Calendar cal = Calendar.getInstance(); 

  int millisecond = cal.get(Calendar.MILLISECOND);
  int second = cal.get(Calendar.SECOND);
  int minute = cal.get(Calendar.MINUTE);
        //12 hour format
  int hour = cal.get(Calendar.HOUR);
        //24 hour format
  int hourofday = cal.get(Calendar.HOUR_OF_DAY);

То же самое относится и к дате:

Calendar cal = Calendar.getInstance(); 

  int dayofyear = cal.get(Calendar.DAY_OF_YEAR);
  int year = cal.get(Calendar.YEAR);
  int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
  int dayofmonth = cal.get(Calendar.DAY_OF_MONTH);
31
SkateJerrySkate

тЛ; др

Instant.now()  // Current moment in UTC.

…или же…

ZonedDateTime.now( ZoneId.of( "America/Montreal" ) )  // In a particular time zone

Подробности

Остальные ответы, хотя и правильные, устарели. Старые классы даты и времени оказались плохо продуманными, запутанными и хлопотными. 

Java.time

Эти старые классы были заменены структурой Java.time

Эти новые классы вдохновлены очень успешным проектом Joda-Time , определенным JSR 310 и расширенным проектом ThreeTen-Extra .

Смотрите Oracle Tutorial .

Instant

Instant - это момент на временной шкале в UTC с разрешением до наносекунд .

 Instant instant = Instant.now(); // Current moment in UTC.

Часовой пояс

Примените часовой пояс ( ZoneId ), чтобы получить ZonedDateTime . Если вы опустите часовой пояс, текущий часовой пояс вашего JVM будет применен неявно. Лучше явно указать желаемый/ожидаемый часовой пояс.

Используйте правильные имена часовых поясов в формате continent/region, например America/Montreal , Europe/Brussels или Asia/Kolkata . Никогда не используйте 3-4-буквенные сокращения, такие как EST или IST, поскольку они не являются ни стандартизированными, ни уникальными.

ZoneId zoneId = ZoneId.of( "America/Montreal" ); // Or "Asia/Kolkata", "Europe/Paris", and so on.
ZonedDateTime zdt = ZonedDateTime.ofInstant( instant , zoneId );

Генерация строк

Вы можете легко сгенерировать String как текстовое представление значения даты и времени. Вы можете использовать стандартный формат, собственный формат или автоматически локализованный формат.

ISO 8601

Вы можете вызывать методы toString, чтобы получить форматированный текст, используя общий и разумный стандарт ISO 8601

String output = instant.toString();

2016-03-23T03: 09: 01.613Z

Обратите внимание, что для ZonedDateTime метод toString расширяет стандарт ISO 8601, добавляя название часового пояса в квадратных скобках. Чрезвычайно полезная и важная информация, но не стандартная.

2016-03-22T20: 09: 01.613-08: 00 [Америка/Los_Angeles]

Пользовательский формат

Или укажите собственный шаблон форматирования с помощью класса DateTimeFormatter .

DateTimeFormatter formatter = DateTimeFormatter.ofPattern( "dd/MM/yyyy hh:mm a" );

Укажите Locale для человеческого языка (английский, французский и т.д.), Который будет использоваться при переводе названия дня/месяца, а также в определении культурных норм, таких как порядок года и месяц и дата. Обратите внимание, что Locale не имеет ничего общего с часовым поясом. 

formatter = formatter.withLocale( Locale.US ); // Or Locale.CANADA_FRENCH or such.
String output = zdt.format( formatter );

Локализации

А еще лучше, пусть Java.time выполнит работу по локализации автоматически. 

DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.MEDIUM );
String output = zdt.format( formatter.withLocale( Locale.US ) );  // Or Locale.CANADA_FRENCH and so on.

О Java.time

Инфраструктура Java.time встроена в Java 8 и более поздние версии. Эти классы вытесняют проблемные старые классы legacy date-time, такие как Java.util.Date , Calendar , & SimpleDateFormat .

Проект Joda-Time , теперь находящийся в режим обслуживания , рекомендует выполнить переход к классам Java.time .

Чтобы узнать больше, смотрите Oracle Tutorial . И поиск переполнения стека для многих примеров и объяснений. Спецификация: JSR 310 .

Вы можете обмениваться объектами Java.time непосредственно с вашей базой данных. Используйте драйвер JDBC , совместимый с JDBC 4.2 или новее. Нет необходимости в строках, нет необходимости в классах Java.sql.*.

Где взять классы Java.time? 

  • Java SE 8 , Java SE 9 , Java SE 10 и более поздних версий
    • Встроенный. 
    • Часть стандартного Java API со встроенной реализацией.
    • Java 9 добавляет некоторые незначительные функции и исправления.
  • Java SE 6 и Java SE 7
    • Большая часть функциональности Java.time перенесена в Java 6 & 7 в ThreeTen-Backport .
  • Android
    • Более поздние версии Android связывают реализации классов Java.time.
    • Для более ранних версий Android (<26) проект ThreeTenABP адаптируется ThreeTen-Backport (упомянуто выше). Смотрите Как использовать ThreeTenABP… .

Проект ThreeTen-Extra расширяет Java.time дополнительными классами. Этот проект является полигоном для возможных будущих дополнений к Java.time. Вы можете найти здесь несколько полезных классов, таких как Interval , YearWeek , YearQuarter и more .

29
Basil Bourque

Есть несколько вариантов, так как Android - это в основном Java, но если вы хотите записать его в textView, следующий код поможет:

String currentDateTimeString = DateFormat.getDateInstance().format(new Date());

// textView is the TextView view that should display it
textView.setText(currentDateTimeString);
24
eLobato
SimpleDateFormat databaseDateTimeFormate = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat databaseDateFormate = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf1 = new SimpleDateFormat("dd.MM.yy");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy.MM.dd G 'at' hh:mm:ss z");
SimpleDateFormat sdf3 = new SimpleDateFormat("EEE, MMM d, ''yy");
SimpleDateFormat sdf4 = new SimpleDateFormat("h:mm a");
SimpleDateFormat sdf5 = new SimpleDateFormat("h:mm");
SimpleDateFormat sdf6 = new SimpleDateFormat("H:mm:ss:SSS");
SimpleDateFormat sdf7 = new SimpleDateFormat("K:mm a,z");
SimpleDateFormat sdf8 = new SimpleDateFormat("yyyy.MMMMM.dd GGG hh:mm aaa");


String currentDateandTime = databaseDateTimeFormate.format(new Date());     //2009-06-30 08:29:36
String currentDateandTime = databaseDateFormate.format(new Date());     //2009-06-30
String currentDateandTime = sdf1.format(new Date());     //30.06.09
String currentDateandTime = sdf2.format(new Date());     //2009.06.30 AD at 08:29:36 PDT
String currentDateandTime = sdf3.format(new Date());     //Tue, Jun 30, '09
String currentDateandTime = sdf4.format(new Date());     //8:29 PM
String currentDateandTime = sdf5.format(new Date());     //8:29
String currentDateandTime = sdf6.format(new Date());     //8:28:36:249
String currentDateandTime = sdf7.format(new Date());     //8:29 AM,PDT
String currentDateandTime = sdf8.format(new Date());     //2009.June.30 AD 08:29 AM

Формат даты Шаблоны

G   Era designator (before christ, after christ)
y   Year (e.g. 12 or 2012). Use either yy or yyyy.
M   Month in year. Number of M's determine length of format (e.g. MM, MMM or MMMMM)
d   Day in month. Number of d's determine length of format (e.g. d or dd)
h   Hour of day, 1-12 (AM / PM) (normally hh)
H   Hour of day, 0-23 (normally HH)
m   Minute in hour, 0-59 (normally mm)
s   Second in minute, 0-59 (normally ss)
S   Millisecond in second, 0-999 (normally SSS)
E   Day in week (e.g Monday, Tuesday etc.)
D   Day in year (1-366)
F   Day of week in month (e.g. 1st Thursday of December)
w   Week in year (1-53)
W   Week in month (0-5)
a   AM / PM marker
k   Hour in day (1-24, unlike HH's 0-23)
K   Hour in day, AM / PM (0-11)
z   Time Zone
22
Vignesh KM
final Calendar c = Calendar.getInstance();
    int mYear = c.get(Calendar.YEAR);
    int mMonth = c.get(Calendar.MONTH);
    int mDay = c.get(Calendar.DAY_OF_MONTH);

textView.setText(""+mDay+"-"+mMonth+"-"+mYear);
16
Alex Muriithi

Это метод, который будет полезен для получения даты и времени:

private String getDate(){
    DateFormat dfDate = new SimpleDateFormat("yyyy/MM/dd");
    String date=dfDate.format(Calendar.getInstance().getTime());
    DateFormat dfTime = new SimpleDateFormat("HH:mm");
    String time = dfTime.format(Calendar.getInstance().getTime());
    return date + " " + time;
}

Вы можете вызвать этот метод и получить текущие значения даты и времени:

2017/01//09 19:23
13
Elenasys
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    Calendar cal = Calendar.getInstance();
    System.out.println("time => " + dateFormat.format(cal.getTime()));

    String time_str = dateFormat.format(cal.getTime());

    String[] s = time_str.split(" ");

    for (int i = 0; i < s.length; i++) {
         System.out.println("date  => " + s[i]);
    }

    int year_sys = Integer.parseInt(s[0].split("/")[0]);
    int month_sys = Integer.parseInt(s[0].split("/")[1]);
    int day_sys = Integer.parseInt(s[0].split("/")[2]);

    int hour_sys = Integer.parseInt(s[1].split(":")[0]);
    int min_sys = Integer.parseInt(s[1].split(":")[1]);

    System.out.println("year_sys  => " + year_sys);
    System.out.println("month_sys  => " + month_sys);
    System.out.println("day_sys  => " + day_sys);

    System.out.println("hour_sys  => " + hour_sys);
    System.out.println("min_sys  => " + min_sys);
12
duggu
Time time = new Time();
time.setToNow();
System.out.println("time: " + time.hour+":"+time.minute);

Это даст вам, например, 12:32.

Не забудьте импортировать Android.text.format.Time;

12
Sam Haque

Вы также можете использовать Android.os.SystemClock . Например, SystemClock.elapsedRealtime () даст вам более точные показания времени, когда телефон спит.

11
Quadroid

Для настроенного формата времени и даты: 

    SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ",Locale.ENGLISH);
    String cDateTime=dateFormat.format(new Date());

Выходные данные имеют следующий формат: 2015-06-18T10: 15: 56-05: 00

9
Omar Faroque Anik

Если вам нужна текущая дата,

Calendar cc = Calendar.getInstance();
int year=cc.get(Calendar.YEAR);
int month=cc.get(Calendar.MONTH);
int mDay = cc.get(Calendar.DAY_OF_MONTH);
System.out.println("Date", year+":"+month+":"+mDay);

Если вам нужно текущее время,

 int mHour = cc.get(Calendar.HOUR_OF_DAY);
 int mMinute = cc.get(Calendar.MINUTE);
 System.out.println("time_format"+String.format("%02d:%02d", mHour , mMinute ));
9
RejoylinLokeshwaran
Time now = new Time();
now.setToNow();

Попробуйте, это работает и для меня.

8
TheMan
Date todayDate = new Date();
todayDate.getDay();
todayDate.getHours();
todayDate.getMinutes();
todayDate.getMonth();
todayDate.getTime();
8
Muhammad Aamir Ali

Вы можете получить дату, используя:

Time t = new Time(Time.getCurrentTimezone());
t.setToNow();
String date = t.format("%Y/%m/%d");

Это даст вам результат в форме Nice, как в следующем примере: «2014/02/09».

8
Annabelle

вы можете просто использовать следующий код:

 DateFormat df = new SimpleDateFormat("HH:mm"); //format time
 String time = df.format(Calendar.getInstance().getTime());

 DateFormat df1=new SimpleDateFormat("yyyy/MM/dd");//foramt date
 String date=df1.format(Calendar.getInstance().getTime());
7
Ali Ziaee

Ну, у меня были проблемы с некоторыми ответами по API, поэтому я сливаю этот код, я надеюсь, что он им пригодится:

    Time t = new Time(Time.getCurrentTimezone());
    t.setToNow();
    String date1 = t.format("%Y/%m/%d");

    Date date = new Date(System.currentTimeMillis());
    SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm aa",
            Locale.ENGLISH);
    String var = dateFormat.format(date);
    String horafecha = var+ " - " + date1;

    tvTime.setText(horafecha);

Результат: 03:25 PM - 2017/10/03

5
Charlie

Метод ниже вернет текущую дату и время в строке. Используйте другой часовой пояс в соответствии с вашим фактическим часовым поясом. Я использовал GMT

public static String GetToday(){
    Date presentTime_Date = Calendar.getInstance().getTime();
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
    return dateFormat.format(presentTime_Date);
}
4
Danger

Вы должны использовать класс Calender в соответствии с новым API. Дата класса устарела сейчас.

Calendar cal = Calendar.getInstance();

String date = ""+cal.get(Calendar.DATE)+"-"+(cal.get(Calendar.MONTH)+1)+"-"+cal.get(Calendar.YEAR);

String time = ""+cal.get(Calendar.HOUR_OF_DAY)+":"+cal.get(Calendar.MINUTE);
4
Akshay Paliwal

Попробуй это

String mytime = (DateFormat.format("dd-MM-yyyy hh:mm:ss", new Java.util.Date()).toString());
4
Abhinaw Kumar

Попробуйте этот код, он отображает текущую дату и время

 Date date = new Date(System.currentTimeMillis());
 SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm aa",
                         Locale.ENGLISH);
 String var = dateFormat.format(date));
3
Kinjal

Вот несколько способов получить время и дату

public static void getCurrentTimeUsingDate() {
    Date date = new Date();
    String strDateFormat = "hh:mm:ss a";
    DateFormat dateFormat = new SimpleDateFormat(strDateFormat);
    String formattedDate= dateFormat.format(date);       
    Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show();
}

Время с использованием календаря

public static void getCurrentTimeUsingCalendar() {
        Calendar cal = Calendar.getInstance();
        Date date=cal.getTime();
        DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
        String formattedDate=dateFormat.format(date);
        Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show();
}

Местное время и дата

public static void getCurrentTime(){
     System.out.println("-----Current time of your time zone-----");
     LocalTime time = LocalTime.now();
    Toast.makeText(this, time, Toast.LENGTH_SHORT).show();
 }

Зона мудрое время

public static void getCurrentTimeWithTimeZone(){
Toast.makeText(this, "Current time of a different time zone using LocalTime", Toast.LENGTH_SHORT).show();

    ZoneId zoneId = ZoneId.of("America/Los_Angeles");
    LocalTime localTime=LocalTime.now(zoneId);
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
    String formattedTime=localTime.format(formatter);

Toast.makeText (this, formattedTime, Toast.LENGTH_SHORT) .show ();

}

Простой способ узнать текущее время и дату  

import Java.util.Calendar

Date currentTime = Calendar.getInstance().getTime();
1
Pradeep Sheoran

Вы можете получить время и дату отдельно от календаря.

// You can pass time zone and Local to getInstance() as parameter

Calendar calendar = Calendar.getInstance(); 

int currentHour = calendar.get(Calendar.HOUR_OF_DAY);
int currentMinute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
int date = calendar.get(Calendar.DAY_OF_MONTH);
int month = calendar.get(Calendar.MONTH);
int year = calendar.get(Calendar.YEAR);
1
Hasib Akter

попробуйте использовать код ниже:

 Date date = new Date();
 SimpleDateFormat dateFormatWithZone = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",Locale.getDefault());  
 String currentDate = dateFormatWithZone.format(date);
1
Manikandan K

В пакете com.google.gson.internal.bind.util есть класс утилит ISO8601Utils, поэтому, если вы используете GSON в своем приложении, вы можете использовать его. 

Он поддерживает миллис и часовые пояса, так что это очень хороший вариант прямо из коробки.

0
FilipMarusca
    long totalSeconds = currentTimeMillis / 1000;
    int currentSecond = (int)totalSeconds % 60;

    long totalMinutes = totalSeconds / 60;
    int currentMinute = (int)totalMinutes % 60;

    long totalHours = totalMinutes / 60;
    int currentHour = (int)totalHours % 12;

    TextView tvTime = findViewById(R.id.tvTime);
    tvTime.setText((currentHour + OR - TIME YOU ARE FROM GMT) + ":" + currentMinute + ":" + currentSecond);
0
Bryan Ibrahim

Котлин

Вот несколько способов узнать текущее время в котлине.

fun main(args: Array<String>) {
    println(System.currentTimeMillis()) // current millisecond

    val date = Calendar.getInstance().time // current date object
    val date1 = Date(System.currentTimeMillis())

    println(date.toString())
    println(date1.toString())

    val now = Time(System.currentTimeMillis()) // current time object
    println(now.toString())

    val sdf = SimpleDateFormat("yyyy:MM:dd h:mm a", Locale.getDefault())
    println(sdf.format(Date())) // format current date

    println(DateFormat.getDateTimeInstance().format(System.currentTimeMillis())) // using getDateTimeInstance()

    println(LocalDateTime.now().toString()) // Java 8

    println(ZonedDateTime.now().toString()) // Java 8
}
0
Khemraj
String DataString=DateFormat.getDateInstance(DateFormat.SHORT).format(Calendar.getInstance().getTime());

Чтобы получить короткую дату в формате String в локализованном формате устройства. 

Я не могу понять, почему так много ответов являются жестко закодированными форматами даты и времени, когда OS/Java обеспечивает правильную локализацию дат и времени? Разве не лучше всегда использовать форматы устройства, а не программиста? 

Он также обеспечивает чтение дат в локализованных форматах:

    DateFormat format = DateFormat.getDateInstance(DateFormat.SHORT);
    Date date=null;
    try {
        date = format.parse(DateString);
    }
    catch(ParseException e) {
    }

Тогда это до пользователя, устанавливающего формат, чтобы показать даты и время, а не вы? Независимо от языков и т.д. В разных странах существуют разные форматы с одним и тем же языком. 

0
Jan Bergström