1

您如何将 Long 日期解析为:1366222239935以空格分隔的字符串Month-Day-Year?喜欢成"Apr 18 2013"

将它传递给 ajava.util.Date和 aString将给出一个日期字符串,其中包含很多我不需要在 GWT 应用程序中呈现的信息。

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

4

6 回答 6

3

由于 gwt 不支持 SimpleDateFormat

而是使用 Gwt DateTimeFormat

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

String datestring =f.format(dateGeneratedbyLong);

并确保DateTimeFormat你可以同时使用的 importclientserverside 。

还有另一个同名但包不同的类,它是客户端(限制您只能在客户端使用)

于 2013-04-17T19:15:53.617 回答
0

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

于 2013-04-17T19:03:02.413 回答
0

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

Date date = new Date(timeInMils);
String res = date.get(Calendar.MONTH) + " " + 
             date.get(Calendar.DAY_OF_MONTH) + " " + 
             date.get(Calendar.YEAR);
于 2013-04-17T19:04:55.567 回答
0

尝试使用 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());

于 2013-04-17T19:03:23.000 回答
0

这样做

    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();
    }
于 2013-04-17T19:09:34.180 回答
0
    long diff = 1366222239935l;

    Date date = new Date(diff);
    SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
    System.out.println(sdf.format(date));
于 2013-04-17T19:15:36.567 回答