Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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_Simpledateformat - Fatal编程技术网

Java 我们能得到给定日期对象的模式吗

Java 我们能得到给定日期对象的模式吗,java,simpledateformat,Java,Simpledateformat,如何获取给定日期对象的模式 我在方法中得到一个Date对象作为参数,我想知道日期的模式,以便将其转换为用户选择的时区 您误解了日期的含义。自Unix时代以来,这只是毫秒数。它没有时区、日历或文本格式的概念。如果有帮助的话,可以认为它有点像int,int不是十六进制、十进制或二进制的,它只是某个范围内的一个数字。如果您将“1a”解析为十六进制,那么将“26”解析为十进制将产生无法区分的结果。日期也一样 当然,这已经在评论中作了一定程度的解释,但您的答复是: 好的,但是当我获取已经设置了格式的日期对

如何获取给定
日期
对象的
模式


我在方法中得到一个
Date
对象作为参数,我想知道日期的模式,以便将其转换为用户选择的时区

您误解了日期的含义。自Unix时代以来,这只是毫秒数。它没有时区、日历或文本格式的概念。如果有帮助的话,可以认为它有点像
int
int
不是十六进制、十进制或二进制的,它只是某个范围内的一个数字。如果您将“1a”解析为十六进制,那么将“26”解析为十进制将产生无法区分的结果。
日期也一样

当然,这已经在评论中作了一定程度的解释,但您的答复是:


好的,但是当我获取已经设置了格式的日期对象时,我想知道该格式

。。。表明你没有真正理解它。“已经设置了格式”的概念在
日期的上下文中毫无意义


如果需要应用特定格式,则应传递
DateFormat
以及
Date

,但不能从日期对象本身传递(取决于您的确切要求)

DateFormat.getDateTimeInstance()
这将返回给您默认的风格和格式的地区,但就像我说的,这取决于您的要求

另一种选择是更改方法签名以接受格式。

您应该创建<代码>日期
对时区一无所知

Date date = new Date(); 

DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss");   
// Set TimeZone
formatter.setTimeZone(TimeZone.getTimeZone("EST"));   

System.out.println(formatter.format(date));   

// Change timezone   
formatter.setTimeZone(TimeZone.getTimeZone("IST"));   

System.out.println(formatter.format(date));  

java.util.Date的实例中没有关于显示模式或时区的信息。您需要将其作为附加方法参数提供。日期对象没有格式。这是一种二进制表示。即使是这样,尝试从格式化的字符串日期确定时区也是脆弱的。好的,但是当我得到已经设置了格式的日期对象时,我想知道该格式。谢谢你的澄清。现在我对约会课很清楚了