JAVA获取GMT毫秒_关于java:如何获得GMT当前时间?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:

How can I get the current date and time in UTC or GMT in Java?

我想获得格林威治标准时间的当前时间戳; 任何想法如何做到这一点?

我设法获得gmt格式的字符串

问题是我想将此字符串转换为等效的时间戳对象,即同时但作为时间戳对象

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss zzz");

sdf.setTimeZone(TimeZone.getTimeZone("GMT"));

Date date=new Date();

String s=sdf.format(date);

System.out.println("GMT:"+s);

//need to convert the string to equivalent timestamp object

重复:stackoverflow.com/questions/308683/…

new Date().getTime();

要不就

System.currentTimeMillis();

两者都假设您将"timestamp"表示"Unix时代的毫秒数"。否则,请澄清您的问题。

编辑:回应评论/澄清/"回答":

您误解了存储GMT时间戳与显示GMT时间戳之间的区别。日期/时间戳将在内部以UTC时间的毫秒存储,并且与某个时区无关,因为无论您的时区如何,时间戳都相同。如果是格林威治标准时间晚上10点在檀香山,那也是格林威治标准时间晚上10点在纽约。它们具有相同的时间戳,但您的位置可能会使它们以不同方式呈现。

另一方面,日历用于正确显示某些字段(如6月8日下午6点),因此具有TimeZone的内部概念(因为美国东部时间下午6点与PDT下午6点不同)。

无论如何,你的例子给了一个SimpleDateFormat。如果要在GMT中显示已经GMT时间戳,请执行相同操作并传入时间戳。

Timestamp timestamp = new Timestamp(System.currentTimeMillis());

SimpleDateFormat fmt = new SimpleDateFormat("HH:mm:ss.SS");

fmt.setTimeZone(TimeZone.getTimeZone("GMT"));

System.out.println(fmt.format(timestamp));

我希望以时间戳格式获取GMT中的当前时间我尝试了以下内容:Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));时间戳ts =新的时间戳(cal.getTimeInMillis());但它总是在我当地的时间

@ylazez:"得到时间"是什么意思?你的意思是什么时候打印它?你的意思是当你通过PreparedStatement坚持它?更新您的问题以反映您实际上要做的事情:提供一小段代码来演示问题。你正在做的方式在内部使用GMT时间,虽然它可能打印当地时间取决于你尝试用它做什么。

我想在gmt时间在数据库中插入时间戳,得到了吗?

@ylazez:然后把它放在PreparedStatement中去吧。它已经在GMT中,如果它在您的数据库中发生变化,那么您的数据库驱动程序就会出现问题。您是手动构建SQL语句作为字符串吗?

看看我得到的当前时间使用:Timestamp timestamp = new Timestamp(System.currentTimeMillis());它总是在我的本地获取时间GMT + 3并且我使用hibernate.save插入此时间戳来保存postgresql数据库中的对象,该列是带时区的时间戳

@ylazez:那么也许你应该从一开始就问过这个问题。花点时间向我们提供我们需要帮助您的信息。你刚才所说的一切都不在于问题:这对你来说不是一个问题吗?我建议从头开始,搜索互联网和StackOverflow,然后如果你仍然卡住,发布一个包含正确信息的新问题。

new Date()

...因为所有Date对象都是基于GMT的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值