답변:
SimpleDateFormat클래스를 사용하여 날짜 형식을 원하는 형식으로 사용할 수 있습니다 .
예제에 대한 아이디어를 얻을 수있는이 링크를 확인하십시오.
예를 들면 다음과 같습니다.
String dateStr = "04/05/2010";
SimpleDateFormat curFormater = new SimpleDateFormat("dd/MM/yyyy");
Date dateObj = curFormater.parse(dateStr);
SimpleDateFormat postFormater = new SimpleDateFormat("MMMM dd, yyyy");
String newDateStr = postFormater.format(dateObj);
자세한 예제는 here입니다 .이 예제를 통해 SimpleDateFormat 클래스의 개념을 이해하는 것이 좋습니다.
Date c = Calendar.getInstance().getTime();
System.out.println("Current time => " + c);
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy", Locale.getDefault());
String formattedDate = df.format(c);
java.util.Date, java.util.Calendar그리고 java.text.SimpleDateFormat지금 기존 에 의해 대체, java.time의 나중에 자바 8에 내장 된 클래스. Oracle의 Tutorial 을 참조하십시오 .
이 yyyy-MM-dd 형식으로 현재 날짜를 가져 오는 간단한 한 줄 코드 는 원하는 형식을 사용할 수 있습니다.
String date = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date());
이것은 자바 기반이므로 안드로이드와 관련이 없으므로 사용할 수 있습니다.
private String getDateTime() {
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
return dateFormat.format(date);
}
이 시도,
SimpleDateFormat timeStampFormat = new SimpleDateFormat("yyyyMMddHHmmssSS");
Date myDate = new Date();
String filename = timeStampFormat.format(myDate);
CharSequence s = DateFormat.getDateInstance().format("MMMM d, yyyy ");
먼저 인스턴스가 필요합니다
String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
// Date 클래스를 java.util 로 가져 오기
아래 코드는 시간과 날짜를 모두 표시합니다
Calendar cal = Calendar.getInstance();
cal.getTime().toString();
나는 현대 답변을 제공하고 있습니다.
현재 날짜를 얻으려면
LocalDate today = LocalDate.now(ZoneId.of("America/Hermosillo"));
이것은 LocalDate프로그램에서 날짜를 유지하기 위해 사용해야 하는 오브젝트를 제공합니다 . A LocalDate는 시간이없는 날짜입니다.
날짜를 사용자에게 표시해야하는 경우에만 사용자의 로캘에 적합한 문자열로 형식을 지정하십시오.
DateTimeFormatter userFormatter
= DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);
System.out.println(today.format(userFormatter));
이 영어 코드를 오늘 미국 영어 로케일에서 실행했을 때 출력 결과는 다음과 같습니다.
2019 년 7 월 13 일
더 짧게하려면 FormatStyle.MEDIUM또는을 지정하십시오 FormatStyle.SHORT. DateTimeFormatter.ofLocalizedDate기본 서식 로캘을 사용하므로 요점은 로케일마다 다른 해당 로케일에 적합한 출력을 제공한다는 것입니다.
사용자에게 출력 형식에 대한 특별한 요구 사항이있는 경우 형식 패턴 문자열을 사용하십시오.
DateTimeFormatter userFormatter = DateTimeFormatter.ofPattern(
"d-MMM-u", Locale.forLanguageTag("ar-AE"));
2019 년 13 월 14 일
최신 Java 날짜 및 시간 API 인 java.time을 사용하고 권장합니다. DateFormat, SimpleDateFormat, Date과 Calendar질문에 사용 및 / 또는 다른 답변의 많은 잘못 설계 및 긴 구식이된다. 그리고 java.time은 작업하기가 훨씬 좋습니다.
예. java.time은 이전 및 최신 Android 장치에서 잘 작동합니다. 최소한 Java 6 만 있으면됩니다 .
org.threeten.bp하위 패키지 를 사용 하여 날짜 및 시간 클래스를 가져와야합니다 .java.time설명되었다.java.timeJava 6 및 7 의 백 포트 인 ThreeTen Backport 프로젝트 (ThreeTen for JSR-310).DateTimeUtils.toDate(yourLocalDateTime.atZone(ZoneId.systemDefault()).toInstant()). 내장 java.time을 사용하는 경우 : Date.from(yourLocalDateTime.atZone(ZoneId.systemDefault()).toInstant()). java.time.LocalDateTime과 java.util.Date 사이의 변환을 참조하십시오 . JodaStephen의 권위있는 답변 이 있으며 백 포트 사용을 보여주는 답변 도 있습니다 .
public static String getcurrentDateAndTime(){
Date c = Calendar.getInstance().getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
String formattedDate = simpleDateFormat.format(c);
return formattedDate;
}
// String currentdate= getcurrentDateAndTime();
28-Dec-2011 하십니까)? 어쨌든 그것은 여전히 악명 높고 오래 된 구식 SimpleDateFormat클래스를 사용하고 있습니다. 더 이상 답변이 필요하지 않습니다.
현재 로캘 (장치 로캘!)에서 현재 날짜를 가져 오는 가장 간단한 방법 :
String currentDate = DateFormat.getDateInstance().format(Calendar.getInstance().getTime());
다른 스타일의 날짜를 원한다면 다음을 사용하십시오 getDateInstance(int style).
DateFormat.getDateInstance(DateFormat.FULL).format(Calendar.getInstance().getTime());
기타 스타일 : DateFormat.LONG, DateFormat.DATE_FIELD, DateFormat.DAY_OF_YEAR_FIELD, 등 (사용 CTRL+Space그들 모두를 보려면)
시간이 필요한 경우 :
String currentDateTime = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,DateFormat.LONG).format(Calendar.getInstance().getTime());
나는 이미 이것을 사용했다 :
Date What_Is_Today=Calendar.getInstance().getTime();
SimpleDateFormat Dateformat = new SimpleDateFormat("dd-MM-yyyy");
String Today=Dateformatf.format(What_Is_Today);
Toast.makeText(this,Today,Toast.LENGTH_LONG).show();
처음에 나는 시간을 얻은 다음 간단한 날짜 형식 (19-6-2018과 같은 날짜를 얻기 위해)을 선언 한 다음 형식을 사용하여 날짜를 문자열로 변경합니다.
간단한 날짜 형식을 얻으려면 한 줄의 코드 만 사용하십시오.
SimpleDateFormat.getDateInstance().format(Date())
출력 : 18-5 월 2020
SimpleDateFormat.getDateTimeInstance().format(Date())
출력 : 18-May-2020 11:00:39 AM
SimpleDateFormat.getTimeInstance().format(Date())
출력 : 11:00:39 AM
이 답변 이이 날짜 및 시간 형식을 얻기에 충분하기를 바랍니다 ... :)
SimpleDateFormat과 DateFormat클래스를. 적어도 첫 번째 옵션은 아닙니다. 그리고 예약 없이는 아닙니다. 오늘날 우리는 java.time최신 Java 날짜 및 시간 API 와 그 기능 이 훨씬 뛰어납니다 DateTimeFormatter. 예, Android에서 사용할 수 있습니다. 이전 Android의 경우 Android 프로젝트에서 ThreeTenABP를 사용하는 방법을 참조하십시오 .
이것은 내가 사용한 코드입니다 .
final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
// Set current date into textview
tvDisplayDate.setText(new StringBuilder()
.append(month + 1).append("-") // Month is 0 based, add 1
.append(day).append("-")
.append(year).append(" Today is :" + thursday ) );
// Set current date into datepicker
dpResult.init(year, month, day, null);
DateFormat2011 년에이 질문을 받았을 때 클래스를 사용하는 것은 괜찮 았지만, 그 클래스와 그 서브 클래스SimpleDateFormat는 항상 번거롭고 오래되었습니다. 나는 그것들을 사용하지 말고 현대 Java 날짜 및 시간 API 인 java.time을 살펴 보는 것이 좋습니다 .