我有以下疑问如何在Java中创建格式日期。如何正确创建具有特定格式的日期?
在Java应用程序,我必须创建一个日期(值必须是当前日期)这样的格式:2015年5月26日(YYYY-MM-DD)
所以我知道我可以获取当前的日期只是建立一个新的java.util.Date
对象,这种方式:
Date dataDocumento = new Date();
,但我怎么可以指定我的日期格式?
TNX
我有以下疑问如何在Java中创建格式日期。如何正确创建具有特定格式的日期?
在Java应用程序,我必须创建一个日期(值必须是当前日期)这样的格式:2015年5月26日(YYYY-MM-DD)
所以我知道我可以获取当前的日期只是建立一个新的java.util.Date
对象,这种方式:
Date dataDocumento = new Date();
,但我怎么可以指定我的日期格式?
TNX
尝试这样的:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date c= sdf.parse("2015-05-26");
String date=sdf.format(c);
System.out.println(date);
要格式化的YYYY-MM-DD格式的当前日期,你可以尝试这样的
Date date = new Date();
String str = new SimpleDateFormat("yyyy-MM-dd").format(date);
好的,但问题是我必须创建一个新的当前日期,不要使用2015-05-26你的工作 – AndreaNobili
@AndreaNobili: - 更新我的答案!请立即检查! –
java.util.Date
对象本身没有格式。它们只是时间戳值,就像int
只是一个数字,没有任何固有的格式。所以,不存在“Date
对象格式为yyyy-MM-dd
”。
格式在您将Date
转换为String
时确定。您可以使用SimpleDateFormat
以特定格式将Date
转换为String
。例如:
Date date = new Date();
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
String text = fmt.format(date);
System.out.println(text);
你必须使用SimpleDateFormat:
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
注意这MM
代表一个月,而不是mm
。
你格式化你的日期和解析它作为一个Date
对象是这样的:
Date dt = sf.parse(sf.format(new Date()));
使用format(new Date())
您可以格式化new Date()
。
你说“你这样格式化你的日期”,然后你展示如何*解析*日期,这与格式相反。 – Jesper
是@Jesper你是对的,我正在编辑它。 –
尝试以下操作:
String currentDate = new SimpleDateFormat("dd.MM.yyyy").format(new Date());
代码
进口java.text.SimpleDateFormat的; import java.util。日期;
/**
*
* Java program to show how to format date in Java using SimpleDateFormat
* Examples. Java allows to include date, time and timezone information
* while formatting dates in Java.
*
* @author http://java67.blogspot.com
*/
public class DateFormatExample {
public static void main(String args[]) {
// This is how to get today's date in Java
Date today = new Date();
//If you print Date, you will get un formatted output
System.out.println("Today is : " + today);
//formatting date in Java using SimpleDateFormat
SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd-MM-yyyy");
String date = DATE_FORMAT.format(today);
System.out.println("Today in dd-MM-yyyy format : " + date);
//Another Example of formatting Date in Java using SimpleDateFormat
DATE_FORMAT = new SimpleDateFormat("dd/MM/yy");
date = DATE_FORMAT.format(today);
System.out.println("Today in dd/MM/yy pattern : " + date);
//formatting Date with time information
DATE_FORMAT = new SimpleDateFormat("dd-MM-yy:HH:mm:SS");
date = DATE_FORMAT.format(today);
System.out.println("Today in dd-MM-yy:HH:mm:SS : " + date);
//SimpleDateFormat example - Date with timezone information
DATE_FORMAT = new SimpleDateFormat("dd-MM-yy:HH:mm:SS Z");
date = DATE_FORMAT.format(today);
System.out.println("Today in dd-MM-yy:HH:mm:SSZ : " + date);
}
}
输出
Today is : Tue May 26 16:11:27 IST 2015
Today in dd-MM-yyyy format : 26-05-2015
Today in dd/MM/yy pattern : 26/05/15
Today in dd-MM-yy:HH:mm:SS : 26-05-15:16:11:316
Today in dd-MM-yy:HH:mm:SSZ : 26-05-15:16:11:316 +0530
使用以下各项
String currentDate = new SimpleDateFormat("dd.MM.yyyy").format(new Date());
此外,您可以使用任何的formet给定的,如果须─
new SimpleDateFormat("dd/MM/yyyy").format(new Date());
new SimpleDateFormat("dd-MM-yy:HH:mm:SS").format(new Date());
new SimpleDateFormat("dd-MM-yy:HH:mm:SS Z").format(new Date());
试试这个代码:
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class GetCurrentDateTime {
public static void main(String[] args) {
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); // you can change the format as you like
Date date = new Date();
System.out.println(dateFormat.format(date));
}
}
您可以使用简单的日期格式类这样:
import java.text.SimpleDateFormat;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
Date dataDocumento = new Date();
sdf.format(dataDocumento);
请参阅以下内容:https://docs.oracle.com/javase/tutorial/i18n/format/simpleDateFormat.html –
Date没有格式的概念,它只是自Unix纪元以来的毫秒数的容器。如果要以特定格式显示日期值,请使用DateFormat – MadProgrammer
下面有8个过时的答案。 2017年的正确和当前答案是'LocalDate.now(ZoneId.systemDefault()).toString()'(当问题在2015年被问到时,它甚至是一个有效答案)。您可能会根据您的需求提供不同的时区。 –