use*_*187 4 java date simpledateformat
我使用以下SimpleDateFormat来解析字符串,
SimpleDateFormat ft= new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy");
String notimeZone = ft.format(startDateTime);
Date date = ft.parse(notimeZone);
Run Code Online (Sandbox Code Playgroud)
startDateTime是日期对象,其值格式为“Thu Mar 06 12:27:55 IST 2014”。
在notimeZone变量中,我得到了,2014 年 3 月 6 日星期四 12:27:55
我期待可变日期的输出,2014 年 3 月 6 日星期四 12:27:55
但是我变得一样了,星期四 3 月 6 日 12:27:55 IST 2014。
如何从日期对象中删除时区。
请帮忙。
java.util.Date does
没有一个Timezone
。它不知道TimeZone
.
打印时,java 会选择默认时区。
从概念上讲,没有时区就不能有日期时间。日期时间必须在一个且只有一个区域中。您可以将其转换为其他区域,但它永远不会没有区域。
如果您的业务用例需要时区意识,我更愿意使用Calendar
class 或Joda Time
. 避免玩 Date 类。如果您的业务用例不需要任何时区意识,请继续使用日期。假设所有 Date 实例都在您的默认时区。
最好的办法是使用Calendar
(或Joda Time
)。Calendar
有点不直观,但您将能够完成工作。不推荐使用 Date 类并非没有理由。
初始化Calendar
与Timezone
(检查可用的构造函数)。用于Dateformat
在UI
您希望的任何时区转换和显示。我在您之前的问题中发布了一些代码。那可能对你有帮助。我陷入了类似的问题。我在一个时区的数据库中有日期。要在 UI 上的另一个时区显示它们,您需要将该日期时间转换为另一个时区。
归档时间: |
|
查看次数: |
21827 次 |
最近记录: |