如何获取pattern
给定date
对象的
我Date
在我的方法中获取一个对象作为参数,我想知道日期的模式以将其转换为用户选择的时区。
你误解了a是什么Date
意思。自 Unix 时代以来,这只是几毫秒。它没有时区、日历或文本格式的概念。如果有帮助,可以把它想象成有点像int
- anint
不是十六进制、十进制或二进制 - 它只是某个范围内的数字。如果将“1a”解析为十六进制,则与将“26”解析为十进制的结果无法区分。也是如此Date
。
当然,这在评论中已经有所解释,但您的回复是:
好的,但是当我得到已经设置格式的日期对象时,我想知道该格式。
...表明您并没有真正理解它。“已经设置格式”的概念在Date
.
如果您需要应用特定格式,则应传递.DateFormat
和Date
.
您不能从日期对象本身但是(取决于您的确切要求)您可以使用
DateFormat.getDateTimeInstance()
这将为您返回语言环境的默认样式和格式,但是就像我说的那样,这取决于您的要求...
另一种方法是更改您的方法签名以接受格式。
你应该创建DateFormat
. Date
对时区一无所知。
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));