Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.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/8/sorting/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 将日期格式从yyyy-mm-dd更改为yyyy/mm/dd_Java_Simpledateformat - Fatal编程技术网

Java 将日期格式从yyyy-mm-dd更改为yyyy/mm/dd

Java 将日期格式从yyyy-mm-dd更改为yyyy/mm/dd,java,simpledateformat,Java,Simpledateformat,我能够获得预期的输出,但当我试图将其设置回原位时, 需要所需的输出为日期类型,而不是字符串。 但是如果解析它,就不要尝试用日期强制转换它,就像这样 SimpleDateFormat p = new SimpleDateFormat("MM-dd-yyyy"); String formatDate = p.format(temp.EXPIRATION_DATE()); //EXPIRATION_DATE is a DATE data type. 我的输出如下: DateFormat fo

我能够获得预期的输出,但当我试图将其设置回原位时, 需要所需的输出为日期类型,而不是字符串。 但是如果解析它,就不要尝试用日期强制转换它,就像这样

 SimpleDateFormat p = new SimpleDateFormat("MM-dd-yyyy");
 String formatDate = p.format(temp.EXPIRATION_DATE()); 

//EXPIRATION_DATE is a DATE data type.
我的输出如下:

DateFormat formatter = new SimpleDateFormat("MM-dd-yyyy");
convertedDate = (Date) formatter.format(date);
我需要输出为
2013/08/23
格式,并且应为日期数据类型。 我有没有办法做到这一点。 谢谢

format
返回格式化日期。它不修改
日期
对象。如果要以格式打印日期,则必须打印
格式的响应


format
返回格式化日期。它不修改
日期
对象。如果要以该格式打印日期,则必须打印
格式的响应

使用
新的简化格式(“yyyy/MM/dd”)

使用新的简化格式(“yyyy/MM/dd”)

我需要输出为
2013/08/23
格式,并且应为日期数据类型。我有没有办法做到这一点

不,那是不可能的

Date
对象仅包含日期值。它没有关于日期显示格式的任何信息。要以特定格式显示日期,可以使用
SimpleDateFormat
——在
SimpleDateFormat
对象上指定格式,然后使用它将
日期
转换为
字符串

我需要输出为
2013/08/23
格式,并且应为日期数据类型。我有没有办法做到这一点

不,那是不可能的


Date
对象仅包含日期值。它没有关于日期显示格式的任何信息。要以特定格式显示日期,可以使用
SimpleDateFormat
——在
SimpleDateFormat
对象上指定格式,然后使用它将
日期
转换为
字符串

格式是为了显示,解析是为了表示日期。我认为您在理解用法时感到困惑。您不喜欢的输出是您尝试直接打印日期对象时看到的输出(您看到的是
Date.toString()
)。如果要显示给定日期的特定格式,请在指定所需格式后使用
SimpleDataFormat.format()
。直接打印
date
对象时,将使用类似“Fri Aug 15…”的固定格式对其进行格式化。您仍然不理解
Date
对象没有格式。解析意味着:将
字符串
转换为
日期
。请注意,生成的
Date
不记得
字符串的格式。很明显,您不了解日期和字符串是如何相关(或不相关)的。日期就是日期,它与任何格式信息都毫无关系。要以给定格式打印日期,需要使用SimpleDataFormat对象将其转换为字符串。当您这样做时,您将有两个完全独立的对象:一个是日期,另一个是字符串。这两个物体彼此一无所知。您可以使用SimpleDataFormat以任何格式表示任何日期对象。只需再重复一次:日期只不过是表示时间上某个瞬间的数字。可以使用SimpleDataFormat从日期创建字符串。您创建的字符串可以具有您想要的任何格式,但它对用于创建字符串的日期对象没有影响。完全相同的日期对象可用于创建不同格式的多个字符串。格式化用于显示,解析用于表示日期。我认为您在理解用法时感到困惑。您不喜欢的输出是您尝试直接打印日期对象时看到的输出(您看到的是
Date.toString()
)。如果要显示给定日期的特定格式,请在指定所需格式后使用
SimpleDataFormat.format()
。直接打印
date
对象时,将使用类似“Fri Aug 15…”的固定格式对其进行格式化。您仍然不理解
Date
对象没有格式。解析意味着:将
字符串
转换为
日期
。请注意,生成的
Date
不记得
字符串的格式。很明显,您不了解日期和字符串是如何相关(或不相关)的。日期就是日期,它与任何格式信息都毫无关系。要以给定格式打印日期,需要使用SimpleDataFormat对象将其转换为字符串。当您这样做时,您将有两个完全独立的对象:一个是日期,另一个是字符串。这两个物体彼此一无所知。您可以使用SimpleDataFormat以任何格式表示任何日期对象。只需再重复一次:日期只不过是表示时间上某个瞬间的数字。可以使用SimpleDataFormat从日期创建字符串。您创建的字符串可以具有您想要的任何格式,但它对用于创建字符串的日期对象没有影响。完全相同的日期对象可用于创建不同格式的多个字符串。如何将我的日期对象更新到2013/08/12,它尝试使用新的SimpleDataFormat(“yyyy/MM/dd”);我可以更改它,但当我尝试更新我的对象时,它是可用的字符串。如何将我的日期对象更新到2013/08/12,它尝试使用新的SimpleDataFormat(“yyyy/MM/dd”);我可以更改它,但当我尝试更新我的对象时,它在字符串中可用。
Fri Aug 23 16:07:11 EDT 2013.
package com.sandbox;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Sandbox {

    public static void main(String[] args) throws IOException {
        SimpleDateFormat p = new SimpleDateFormat("yyyy/MM/dd");
        String formatDate = p.format(new Date());
        System.out.println(formatDate);
    }


}