java - 日期时间字符串 + TimeZone

标签 java parsing date datetime time

我有本地日期时间的字符串表示和 Java 时区。

我正在尝试以 MM/dd/yyyy HH:mm:ssZ 格式获取输出,但我不知道如何创建具有正确日期时间和时区的日历或 JodaTime 对象。如何将 TimeZone 转换为可由 SimpleDateFormat 'Z' 或 'z' 解析的值?

TimeZone tz = TimeZone.getTimeZone("America/Chicago");
String startDate = "08/14/2014 15:00:00";

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
Calendar cal = Calendar.getInstance(tz);
cal.setTime(sdf.parse(startDate));
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ssZ");

sdfZ.format(cal.getTime()) 

返回

08/14/2014 15:00:00-0400

这是 EST

创建日历或 Joda DateTime 并通过解析字符串“08/14/2014 15:00:00”来设置单独的年/月/日/小时/分钟值是唯一的解决方法吗?

最佳答案

Calendar getTime() - 返回表示此 Calendar 时间值的 Date 对象(与 Epoch 的毫秒偏移量(01-01-1970 00:00 GMT)“),无论您显示的是哪个时区. 但不同时区的小时会有所不同。 get(Calendar.HOUR_OF_DAY)

你应该试试

sdfZ.setTimeZone(tz);

关于java - 日期时间字符串 + TimeZone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25558187/

相关文章:

关于日期的 C++ 不完整代码,什么是更好的解决方案?

java - 模拟存储库返回 null

java - JVM 线程是否始终保持它们到 OS 线程的映射

java - 是否可以使用 run-forked 从不同的 JVM 运行 Jetty?

r - df_parse_dta_file() 错误 : Failed to parse C:/Users/folder/data. dta:不支持此版本的文件格式

java - 我如何转换这个字符串,它是java集合中的json响应?

java - 从内存中的对象访问静态变量

java - 解析.java文件并分析其AST

javascript - 浏览器兼容的日期格式

r - 使用 lubridate 在 R 中修改 POSIXct 格式的日期