2015-12-06 4 views
3
import java.util.Date; 
Date firstDate; 

Я не знаю, как инициализировать в firstDate, например, для строки вы говоритеКак инициализировать переменную типа даты в java?

String line1="First line" 

но какой формат даты вы можете дать мне пример?

+0

Это зависит от того, какой конструктор вы хотите использовать.Самый простой - 'Date firstDate = new Date();'. Тем не менее, есть и другие конструкторы, которые вы также можете использовать, где вы можете напрямую предоставить 'long' для времени или' string' like '2015-12-06 17:01:00' –

ответ

1

Для инициализации текущей даты, вы могли бы сделать что-то вроде:

Date firstDate = new Date(); 

Чтобы получить его из строки, вы можете использовать SimpleDateFormat как:

String dateInString = "10-Jan-2016"; 
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy"); 
try { 
    Date date = formatter.parse(dateInString); 
    System.out.println(date); 
    System.out.println(formatter.format(date)); 
} catch (ParseException e) { 
    //handle exception if date is not in "dd-MMM-yyyy" format 
} 
2

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

public Date StringToDate(String s){ 

    Date result = null; 
    try{ 
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
     result = dateFormat.parse(s); 
    } 

    catch(ParseException e){ 
     e.printStackTrace(); 

    } 
    return result ; 
} 

Если вы хотели бы использовать этот метод в настоящее время, вам придется использовать что-то вроде этого

Date date = StringToDate("2015-12-06 17:03:00"); 

Для более подробного объяснения, вы должны проверить http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

3

Вот Javadoc на веб-сайте Oracle для класса Date: https://docs.oracle.com/javase/8/docs/api/java/util/Date.html
Если вы прокрутите страницу вниз до «Сводка конструктора», вы увидите различные варианты создания объекта Date. Как и все объекты в Java, вы создаете новый файл:

Date firstDate = new Date(ConstructorArgsHere); 

Теперь у вас есть выбор. Если вы не проходят какие-либо аргументы, и просто сделать это,

Date firstDate = new Date(); 

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

Date firstDate1 = new Date(int year, int month, int date); 
Date firstDate2 = new Date(int year, int month, int date, int hrs, int min); 
Date firstDate3 = new Date(int year, int month, int date, int hrs, int min, int sec); 
0

java.time

В java.util.Date & классов .Calendar были вытеснены в рамках java.time встроенных в Java- и позже. Новые классы - это потрясающее улучшение, вдохновленное успешной библиотекой Joda-Time.

В классах java.time обычно используются статические factory methods, а не constructors для создания объектов.

Чтобы получить текущий момент в часовом поясе UTC:

Instant instant = Instant.now(); 

Чтобы получить текущий момент в конкретной временной зоне:

ZoneId zoneId = ZoneId.of("America/Montreal"); 
ZonedDateTime zdt = ZonedDateTime.now(zoneId); 

Если вы должны java.util.Date для использовать с другими классами, которые еще не обновлены для типов java.time, конвертировать из Instant.

java.util.Date date = java.util.Date.from(zdt.toInstant()); 
Смежные вопросы