Java 如何正确创建具有特定格式的日期?
我对如何在Java中创建格式日期有以下疑问 在Java应用程序中,我必须创建一个日期(值必须是当前日期),格式如下:2015-05-26(yyy-mm-dd) 因此,我知道我可以获得当前日期,只需构建一个新的Java 如何正确创建具有特定格式的日期?,java,date,date-format,Java,Date,Date Format,我对如何在Java中创建格式日期有以下疑问 在Java应用程序中,我必须创建一个日期(值必须是当前日期),格式如下:2015-05-26(yyy-mm-dd) 因此,我知道我可以获得当前日期,只需构建一个新的java.util.date对象,方法如下: Date dataDocumento = new Date(); 但是我如何指定我的日期格式呢 Tnx试着这样做: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date
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);
Date dt = sf.parse(sf.format(new Date()));
要将当前日期格式化为yyyy-MM-dd格式,您可以这样尝试
Date date = new Date();
String str = new SimpleDateFormat("yyyy-MM-dd").format(date);
请参考
java.util.Date
对象本身没有格式。它们只是时间戳值,就像int
只是一个数字,没有任何固有的格式。因此,没有“格式为yyyy-MM-dd
的Date
对象”这样的东西
格式是在将日期
转换为字符串
时确定的。您可以使用SimpleDateFormat
以特定格式将日期
转换为字符串
。例如:
Date date = new Date();
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
String text = fmt.format(date);
System.out.println(text);
您必须使用:
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
注意MM
代表月份,而不是MM
然后格式化日期并将其解析为date
对象,如下所示:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date c= sdf.parse("2015-05-26");
String date=sdf.format(c);
System.out.println(date);
Date dt = sf.parse(sf.format(new Date()));
使用format(new Date())
可以格式化new Date()
尝试以下操作:String currentDate = new SimpleDateFormat("dd.MM.yyyy").format(new Date());
代码
导入java.text.simpleDataFormat;
导入java.util.Date
/**
*
* 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);
请参见以下内容:Date没有格式的概念,它只是一个自Unix纪元以来毫秒数的容器。如果要以特定格式显示日期值,请使用日期格式。下面有8个过时的答案。2017年的正确答案是
LocalDate.now(ZoneId.systemDefault()).toString()
(在2015年提出这个问题时,这甚至是一个有效的答案)。根据您的需要,您可以提供不同的时区。好的,但问题是我必须创建一个新的当前日期,而不是像您一样使用2015-05-26do@AndreaNobili:-更新了我的答案!请现在检查!你创建了一个格式化字符串而不是日期对象你说“你像这样格式化你的日期”,然后你展示了如何解析日期,这与格式化相反。是的@Jesper你是对的,我正在编辑它。对我来说,最好的解决方案是内联格式化日期++