0

如何获取pattern给定date对象的

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

4

3 回答 3

2

你误解了a是什么Date意思。自 Unix 时代以来,这只是几毫秒。它没有时区、日历或文本格式的概念。如果有帮助,可以把它想象成有点像int- anint不是十六进制、十进制或二进制 - 它只是某个范围内的数字。如果将“1a”解析为十六进制,则与将“26”解析为十进制的结果无法区分。也是如此Date

当然,这在评论中已经有所解释,但您的回复是:

好的,但是当我得到已经设置格式的日期对象时,我想知道该格式。

...表明您并没有真正理解它。“已经设置格式”的概念在Date.

如果您需要应用特定格式,则应传递.DateFormatDate.

于 2012-11-14T07:41:37.740 回答
0

您不能从日期对象本身但是(取决于您的确切要求)您可以使用

DateFormat.getDateTimeInstance()

这将为您返回语言环境的默认样式和格式,但是就像我说的那样,这取决于您的要求...

另一种方法是更改​​您的方法签名以接受格式。

于 2012-11-14T07:44:53.153 回答
0

你应该创建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));  
于 2012-11-14T07:45:28.530 回答