首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多个日期字符串转换为长日期字符串

将多个日期字符串转换为长日期字符串
EN

Stack Overflow用户
提问于 2013-06-23 21:13:54
回答 2查看 105关注 0票数 0

我有两个字符串:“孙俊23”和"22:45“。我想要长的(毫秒?)这两个字符串加上实际年份所指示的日期的表示形式。

我正在尝试这样的方法:

代码语言:javascript
复制
String s1 = "Sun Jun 23";
String s2 = "22:45";
long date = new SimpleDateFormat("EEE MMM dd").parse(s1).getTime() 
          + new SimpleDateFormat("HH:mm").parse(s2).getTime();

当我将长日期格式转换回字符串时

代码语言:javascript
复制
private SimpleDateFormat sdf;
sdf = new SimpleDateFormat("yyyy.MM.dd_HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
console.getOut().println(sdf.format(date));

我有"1970.06.23_20:45:00“

这表明有两个问题:

  • 这不包括今年。我该怎么加呢?
  • 为什么我浪费了2个小时(从22:45到20:45)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-23 21:17:46

尝试连接字符串,然后解析日期并获取时间。

代码语言:javascript
复制
String completeTime = s1 + " " + s2;
SimpleDateFormat sdf = new SimpleDateFormat ("EEE MMM dd HH:mm")
Date date = sdf.parse(completeTime)
long millis = date.getTime()

编辑.在抱歉之前完全阅读了整个问题.

在日期之前,任何地方都不会读取年份,所以您要么必须添加它,要么从某个地方读取它,如果是年份,我建议使用Calendar对象来获取它

来自millis long的解析中的Timezone信息似乎会导致时间差,您可以尝试使用"GMT+2"来纠正这一点,但这可能并不总是正确的。如果您取出时区的settin it,它会改变您的结果吗?

票数 2
EN

Stack Overflow用户

发布于 2013-06-23 21:58:24

我得到了更多,但有一个不同的问题:

代码语言:javascript
复制
String s1 = "Sun Jun 23";
String s2 = "22:45";
SimpleDateFormat f = new SimpleDateFormat("YYYY EEE MMM dd HH:mm");
f.setTimeZone(TimeZone.getTimeZone("GMT")); //thanks for the timezone hints!
Date d;
long date;
int year;
try {
    year = Calendar.getInstance().get(Calendar.YEAR);
    String fullDate = year + " " + s1 + " " + s2;
    d = f.parse(fullDate);
    date = d.getTime();
    SimpleDateFormat sdf2;
    sdf2 = new SimpleDateFormat("yyyy.MM.dd_HH:mm:ss");
    sdf2.setTimeZone(TimeZone.getTimeZone("GMT"));
    console.getOut().println(sdf2.format(date));
} catch (ParseException e) {
    e.printStackTrace();
} 

打印出来: 2012.12.30_22:45:00。

时区现在看起来没问题(正如我看到的22:45),

fullDate包含正确的字符串("2013孙俊23 22:45")。

为什么我没有得到正确的日期?

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

https://stackoverflow.com/questions/17265396

复制
相关文章

相似问题

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