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