您如何将 Long 日期解析为:1366222239935
以空格分隔的字符串Month-Day-Year
?喜欢成"Apr 18 2013"
将它传递给 ajava.util.Date
和 aString
将给出一个日期字符串,其中包含很多我不需要在 GWT 应用程序中呈现的信息。
需要做这种风格,因为我会将结果传递给 3 个<span>
元素;所以实际上以空格分隔的日期将分为几部分:
- 月
- 天
- 年
由于 gwt 不支持 SimpleDateFormat
而是使用 Gwt DateTimeFormat
DateTimeFormat f = DateTimeFormat.getFormat("dd-MMM-yyyy");
String datestring =f.format(dateGeneratedbyLong);
并确保DateTimeFormat
你可以同时使用的 importclient
和server
side 。
还有另一个同名但包不同的类,它是客户端(限制您只能在客户端使用)
该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”。
您可以将其转换为 a Date
,然后String
像这样手动构建您的 -
Date date = new Date(timeInMils);
String res = date.get(Calendar.MONTH) + " " +
date.get(Calendar.DAY_OF_MONTH) + " " +
date.get(Calendar.YEAR);
尝试使用 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 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));