Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何正确创建具有特定格式的日期?_Java_Date_Date Format - Fatal编程技术网

Java 如何正确创建具有特定格式的日期?

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中创建格式日期有以下疑问

在Java应用程序中,我必须创建一个日期(值必须是当前日期),格式如下:2015-05-26yyy-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);
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你是对的,我正在编辑它。对我来说,最好的解决方案是内联格式化日期++