繁体   English   中英

快速将长日期解析为月 - 日 - 年字符串的方法

[英]Fast way to parse a Long date into Month-Day-Year String

你如何解析如下的长日期: 1366222239935到一个以空格分隔的Month-Day-Year的字符串? 喜欢"Apr 18 2013"

将它传递给java.util.DateString将给出一个日期字符串,其中包含我在GWT应用程序中渲染所不需要的许多信息。

需要这样做,因为我将结果传递给3 <span>元素; 实际上,以空格分隔的日期将分成几部分:

由于gwt不支持SimpleDateFormat

而是使用Gwt DateTimeFormat

DateTimeFormat f = DateTimeFormat.getFormat("dd-MMM-yyyy");

String datestring =f.format(dateGeneratedbyLong);

并确保DateTimeFormat导入也可以使用clientserver端。

还有另一个具有相同名称但是包不同的类是客户端(限制您仅在客户端使用)

那个Long数字就是自JavaScript纪元(1970年1月1日午夜,UTC时间)以来的毫秒数。 因此,不使用解析它,而是使用Date对象的构造函数:

  var myDate = new Date(1366222239935);
  alert(myDate);

这将显示“2013年4月17日星期三11:10:39 GMT-0700(太平洋夏令时间)”。 我在PST,但它将默认为您在语言环境设置中的任何时区。

在Java中的GWT应用程序内部,只需执行以下操作:

     Date date=new Date(1366222239935);

然后,您可以使用SimpleDateFormat将其呈现为“dd / MM / yy”。

请参见http://www.w3schools.com/jsref/jsref_obj_date.asp

尝试使用SimpleDataFormat检查http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html >

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yy");

String dateAsString = simpleDateFormat.format(new Date());

您可以将其转换为Date ,然后像这样手动构建您的String .-

Date date = new Date(timeInMils);
String res = date.get(Calendar.MONTH) + " " + 
             date.get(Calendar.DAY_OF_MONTH) + " " + 
             date.get(Calendar.YEAR);

这样做

    Date d = new Date();

    d.setTime(1366222239935l);

    System.out.println(d);

    SimpleDateFormat sdf =  new SimpleDateFormat("MMMM dd yyyy");

    try {
        System.out.println(sdf.format((d)));
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    long diff = 1366222239935l;

    Date date = new Date(diff);
    SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
    System.out.println(sdf.format(date));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM