Преобразование даты в JAVA - PullRequest
1 голос
/ 27 апреля 2011

Как конвертировать

Wed Apr 27 17:53:48 PKT 2011

в

Apr 27, 2011 5:53:48 PM.

Ответы [ 7 ]

5 голосов
/ 27 апреля 2011
new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a.").format(yourDate);
2 голосов
/ 27 апреля 2011

Вы можете использовать SimpleDateFormat или парсер JodaTime.

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

1 голос
/ 09 ноября 2017

Ну, вы можете конвертировать так:

import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class StringToDateDemo
{
   public static void main(String[] args) throws ParseException  
   {
      String strDate = "Apr 27, 2011 5:53:48 pm";
      SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a");
      Date dt = sdf.parse(strDate);
      System.out.println(dt);
   }
}

Вывод:

Apr 27, 2011 5:53:48 PM

Ссылка и источник:

https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html

https://www.flowerbrackets.com/java-string-to-date/

1 голос
/ 27 апреля 2011

Вы можете сделать это, используя смесь JDK и Время Joda :

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

import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

public class SO5804637 {

    public static void main(String[] args) throws ParseException {
        DateFormat df = 
            new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
        Date d = df.parse("Wed Apr 27 17:53:48 PKT 2011");
        DateTimeFormatter dtf = 
            DateTimeFormat.forPattern("MMM dd, yyyy hh:mm:ss a");
        DateTime dt = new DateTime(d);
        System.out.println(dt.toString(dtf));
    }

}

Примечание: я включил операторы import, чтобы было понятно, какие классы ям.

1 голос
/ 27 апреля 2011
SimpleDateFormat sdf = new SimpleDateFormat ("MMM dd, yyyy hh:mm:ss a");

String str = sdf.format(date)
0 голосов
/ 27 апреля 2011
new java.text.SimpleDateFormat("MMM d, yyyy h:mm:ss a").format(date);

Я заметил, что в вашем желаемом выводе час дня не имеет префикса 0, поэтому строка формата, которая вам нужна, должна иметь только одну букву 'h'.Я предполагаю, что вы хотите, чтобы день месяца имел схожее поведение, поэтому шаблон также содержит только одну букву "d".

0 голосов
/ 27 апреля 2011

Вы можете использовать SimpleDateFormat для преобразования строки в дату в представлении с определенной датой.Пример использования SimpleDateFormat можно найти в следующем месте: http://www.kodejava.org/examples/19.html

...