当前位置: 首页 > 面试题库 >

Java将UTC时间戳转换为本地DateTime

戎鹏云
2023-03-14
问题内容

我知道已经有很多关于将UTC时间/日期转换为本地时间/从本地时间转换为答案的帖子,但是没有帮助我弄清楚我的问题是什么。我的问题是:通过具有UTC时间戳,我如何获取本地DateTime?这就是我现在所拥有的,但这只是将时间戳转换为DateTime格式。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getDefault());         
sdf.format(new Date(timestamp * 1000));

编辑:我将UTC时间戳保存在云中,以便每个设备(Android / iOS)都可以查询并将其转换为时区。


问题答案:

试试这个与我一起工作

public  String getDateCurrentTimeZone(long timestamp) {
        try{
            Calendar calendar = Calendar.getInstance();
            TimeZone tz = TimeZone.getDefault();
            calendar.setTimeInMillis(timestamp * 1000);
            calendar.add(Calendar.MILLISECOND, tz.getOffset(calendar.getTimeInMillis()));
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date currenTimeZone = (Date) calendar.getTime();
            return sdf.format(currenTimeZone);
        }catch (Exception e) {
        }
        return "";
    }


 类似资料:
  • 问题内容: 我有一个毫秒本地本地时间戳,我想将其转换为毫秒本地UTC时间戳。快速浏览一下文档,看起来像这样工作: 有一个更好的方法吗? 问题答案: 使用a 来获取本地纪元处的偏移量,然后将其添加到本地纪元时间戳中。

  • 我有一个Unix历元时间戳(以毫秒为单位),需要获取本地时间的日期字符串。 这是我的代码: 由上述函数生成的原始时间戳和结果日期、小时和所有其他值均以UTC为单位。如何更改代码以在当地时间获取它?

  • 问题内容: 我知道这个主题已被殴打致死,但在搜寻了这个问题几个小时之后,我不得不问。 我的问题:根据客户端应用程序(iphone)的当前时区对服务器上的日期进行计算。客户端应用程序以秒为单位告诉服务器,其时区距GMT的距离。然后,我想使用此信息对服务器中的日期进行计算。服务器上的日期都存储为UTC时间。 因此,在将UTC日期对象转换为该本地时区之后,我想获取其HOUR。 我目前的尝试: 变量小时和

  • 问题内容: 我正在寻找将UTC时间字符串转换为Unix时间戳的选项。 我拥有的字符串变量是,需要将其转换为unix时间戳,例如 任何想法如何做到这一点? 问题答案: 首先,unix时间戳没有时间,但以UTC为单位。 在包有功能解析与预计解析时的布局。布局是从参考时间开始构造的。因此,在您的情况下,布局应为。使用Parse之后,您将获得一个可以调用Unix来接收Unix时间戳的结构。

  • 我尝试了convert_timezone('CET',current_timestamp)函数,但它在AWS Athena中不被识别 在更简单的工作中,我在Presto中寻找SQL Server函数GETUTCDATE()的替代品,只是希望获得CET时间戳。有什么建议吗?

  • 问题内容: 在我的项目中,我获得了json格式的API响应。我得到这样的UTC时间格式的时间字符串值。 我需要将其更改为本地时间。那就是我们使用此应用程序需要显示当地时间的地方。我该怎么做? 这是我尝试过的一些代码: 假设aDate包含 问题答案: 这是我的尝试: 还要注意上午/下午标记的“ a” …