首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将纪元时间转换为日期字符串

将纪元时间转换为日期字符串
EN

Stack Overflow用户
提问于 2012-03-18 07:08:26
回答 10查看 95.7K关注 0票数 30

我已经看到这个问题被问了很多次,似乎没有一个答案是我需要的。

我有一个长类型变量,其中存储了一个纪元时间。

我想要做的是将它转换成一个字符串

例如,如果存储的纪元时间为今天,则最终字符串应为:

17/03/2012

我该怎么做呢?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2012-03-18 07:12:19

调查SimpleDateFormat

代码语言:javascript
运行
复制
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
sdf.format(new Date(myTimeAsLong));
票数 42
EN

Stack Overflow用户

发布于 2012-03-18 07:11:10

您可以从long创建一个Date -这很简单:

代码语言:javascript
运行
复制
Date date = new Date(epochTime);

请注意,这里的epochTime应该是从纪元开始的毫秒数--如果您有从纪元开始的秒数,则乘以1000。

然后,您将创建一个SimpleDateFormat,指定相关的模式、文化和时区。例如:

代码语言:javascript
运行
复制
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
format.setTimeZone(...);

然后使用它将日期格式化为字符串:

代码语言:javascript
运行
复制
String text = format.format(date);
票数 28
EN

Stack Overflow用户

发布于 2014-07-24 13:10:58

代码语言:javascript
运行
复制
Date date = new Date(String); 

这是不推荐使用的。

解决方案

代码语言:javascript
运行
复制
  Date date = new Date(1406178443 * 1000L);
  DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
  format.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
  String formatted = format.format(date);

确保乘以1000L

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9754600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档