如何用Java格式化Twitter时间戳?

如何用Java格式化Twitter时间戳?,java,twitter,timestamp,string-formatting,Java,Twitter,Timestamp,String Formatting,我得到了这个推特时间戳: Sat Sep 20 19:11:19 ICT 2014 我想把它转换成: 20-09-2014 19:11 我如何才能做到这一点?在Java中使用SimpleDataFormat: DateFormat outputFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm"); DateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss

我得到了这个推特时间戳:

Sat Sep 20 19:11:19 ICT 2014
我想把它转换成:

20-09-2014 19:11

我如何才能做到这一点?

在Java中使用SimpleDataFormat:

    DateFormat outputFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm");
    DateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZZZ yyyy", Locale.ENGLISH);
    inputFormat.setLenient(true);

    Date date = inputFormat.parse("Sat Sep 20 19:11:19 ICT 2014");
    String outputText = outputFormat.format(date);

    System.out.println(outputText);

只需使用SimpleDataFormat,将您在twitter上的日期作为来源:

String dateFormatted = new SimpleDateFormat("dd-MM-yyyy HH:mm").format(dateFromTwitter);

SimpleDataFormat依赖于语言环境,请使用明确的英语语言环境:

SimpleDateFormat sf=newsimpledateformat(TWITTER,Locale.ENGLISH)

现在,格式字符串可以工作了:

public static Date getTwitterDate(String date) throws ParseException {

  final String TWITTER="EEE MMM dd HH:mm:ss ZZZZZ yyyy";
  SimpleDateFormat sf = new SimpleDateFormat(TWITTER);
  sf.setLenient(true);
  return sf.parse(date);
  }

public static void main (String[] args) throws java.lang.Exception
{
  System.out.println(getTwitterDate("Thu Dec 3 18:26:07 +0000 2010"));          
}
输出应为:

Fri Dec 03 18:26:07 GMT 2010

但是我想用Java,更新的答案,很抱歉:-)。那么我如何将它转换为(20-09-2014 19:11)?等一下,让我设置一个项目来测试:-)。确保在我的代码的第一行收集日期,应该类似于Date dateFromTwitter=getMyDateFromTwitter();