Java如何在IST中打印时间
我现在可以得到时间和时区。但它总是印在纸上Java如何在IST中打印时间,java,datetime,Java,Datetime,我现在可以得到时间和时区。但它总是印在纸上 Wed May 23 11:01:08 GMT+05:30 2012 作为时区,我将获得GMT+05:30。我想打印IST 我试过了 SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z"); 但我还是得到了GMT+05:30 TimeZone.getDefault().getDisplayName(true, TimeZone.SHORT); is al
Wed May 23 11:01:08 GMT+05:30 2012
作为时区,我将获得GMT+05:30
。我想打印IST
我试过了
SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");
但我还是得到了GMT+05:30
TimeZone.getDefault().getDisplayName(true, TimeZone.SHORT); is also givine me GMT+05:30
我尝试过各种各样的事情,但都没有成功。我使用了日历
,但仍然无法打印IST
有谁能告诉我如何及时打印
IST
(即使我不想打印印度标准时间
)您还没有显示您在哪里实际使用SimpleDateFormat
。下面是一个简短但完整的示例,它确实显示了IST:
import java.text.*;
import java.util.*;
class Test {
public static void main(String[] args) {
SimpleDateFormat sd = new SimpleDateFormat(
"yyyy.MM.dd G 'at' HH:mm:ss z");
Date date = new Date();
// TODO: Avoid using the abbreviations when fetching time zones.
// Use the full Olson zone ID instead.
sd.setTimeZone(TimeZone.getTimeZone("IST"));
System.out.println(sd.format(date));
}
}
我的机器上的输出:
2012.05.23 AD at 11:18:08 IST
请注意,如果TimeZone.getDefault()
未显示“IST”,则问题可能是:
- 系统实际上无法识别您的系统时区
- 您的Java安装没有关于i18n的完整时区信息
您使用的是哪个版本的Java,在哪个平台上?似乎您的时区设置错误。以下代码将在IST时间11:30:20打印
2012.05.23
TimeZone.setDefault(TimeZone.getTimeZone("IST"));
SimpleDateFormat f = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");
System.out.println(f.format(new Date()));
但是,如果我使用TimeZone.setDefault(TimeZone.getTimeZone(“GMT+05:30”)代码>
我将在格林威治标准时间11:30:20+05:30获得广告时间2012.05.23的
什么进来,什么出来都一样。还有一个问题是“我不想在这里修复IST。它可以是EDT或其他东西。我怎么做?@rock:你可以使用时区。getTimeZone
来获取时区。不过根据我的评论,你应该使用奥尔森时区ID(“欧洲/伦敦”等)如果可能的话,请不要使用缩写-缩写不明确。在计算机中运行时,它会在末尾打印IST。但在手机中不会device@AnbarasuChinna当前位置如果没有更多信息,恐怕我们无法帮助您。我建议您提出一个更详细的新问题。您好@JonSkeet。您的回答非常有帮助我试过上面提到的代码,但是我的时区是MUT。看起来Java类不理解MUT时区。所以它给我带GMT后缀的日期。你能帮我解决这个问题吗?