我希望能够在Java日期格式字符串,如DD / MM / YYYY(2009年7月6日)转换为JavaScript日期格式字符串,如DD / MM / YY(2009年7月6日)。
有没有人这样做过,或有任何想法,我可能会发现一些代码,已经这样做了?
提前致谢。
编辑:
感谢所有,但现在我认识到我的错误,可能为什么这么多人都在努力理解问题的答复; JavaScript没有内置的日期格式的能力。 我使用jQuery UI的日期选择器和我已经设置它的日期格式,假设它会在某个时候被调用标准JS功能,不使用自己的图书馆! 当我用Google搜索字符串格式化我跳下直什么的可以使用的字母表,而忽略位在开始解释如何使用该脚本。
无论如何,我得继续前进,有可能写我自己我想,一个Java日期格式字符串转换成一个jQuery的日期格式字符串(或尽量接近) - 我的工作对我们的产品的国际化,并创建一个java存储在整个应用程序中使用的首选日期格式串类,我的意图是要还与格式字符串是JS相当于提供任何JSP页面的能力。
不管怎么说,还是要谢谢你。
如果你只是需要从Java传递日期的JavaScript,最好的办法做到这一点,我想,是到Java日期转换为使用毫秒date.getTime()
创建一个JavaScript日期与此毫秒值初始化new Date(milliseconds)
,然后格式化的时间与日期的JavaScript对象的装置,如: date.toLocaleString()
你可以使用我的插件jQuery的日期格式 。
// Text
$.format.date("2009-12-18 10:54:50.546", "dd/MM/yyyy");
// HTML Object
$.format.date($("#spanDate").text(), "dd/MM/yyyy");
// Scriptlet
$.format.date("<%=java.util.Date().toString()%>", "dd/MM/yyyy");
// JSON
var obj = ajaxRequest();
$.format.date(obj.date, "dd/MM/yyyy");
类似的话题已经在这里找到答案: 在JavaScript中转换日期
我个人觉得这是一个相当大的痛苦,并采取了笔者的建议和使用的库。 如前所述,jQuery的日期选择器具有一个是一个可行的解决方案,如果你能负担得起下载你的应用程序的开销或者已经在使用它。
这个JavaScript库应该能够帮助你。
http://plugins.jquery.com/project/fIsForFormat
(我不知道为什么他们有它作为一个jQuery插件,因为它独立工作。)
你只需将原有的格式化的日期分成它的各个元素,然后创建这些元素的新Date对象。 然后,使用这个库的“Date.f()”方法输出成你能想到的任何格式。
例如:
var dateOld = "11/27/2010",
dateArr = date1.split("/"),
dateObj = new Date(dateArr[2], dateArr[0], dateArr[1]),
dateNew = dateObj.f("MMM d, yyyy");
document.write("Old Format: " + dateOld + "<br/>New Format: " + dateNew);
这对我来说工作得很好:
<%
Date date = Calendar.getInstance().getTime();
%>
<script>
var d = new Date(<%=date.getTime()%>);
alert(d);
</script>
退房moment.js ! 这是“用于分析,操纵和格式化日期轻量级的JavaScript库日期”。 这是一个非常强大的小图书馆。
下面是一个例子...
var today = moment(new Date());
today.format("MMMM D, YYYY h:m A"); // outputs "April 11, 2012 2:32 PM"
// in one line...
moment().format("MMMM D, YYYY h:m A"); // outputs "April 11, 2012 2:32 PM"
这里的另一个例子......
var a = moment([2012, 2, 12, 15, 25, 50, 125]);
a.format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Monday, March 12th 2012, 3:25:50 pm"
a.format("ddd, hA"); // "Mon, 3PM"
a.format("D/M/YYYY"); // "12/3/2012"
此外,它的值得一提的结账date.js 。 我认为这两个库相得益彰。
我建议你MomentJS这个插件 ,让你在Java模式转换为JS模式(MomentJS)
在JavaScript代码此页面实现了一些最新的功能和他们“使用相同的格式化字符串与java.text.SimpleDateFormat的类,有一些小的例外”。 这是不完全相同的,只要你想,但它可以是一个很好的起点。
如果你只是想格式化日期我的约会扩展会做很好 - 这也解析数据格式和做了很多数学日期的/比较,以及:
DP_DateExtensions库
不知道这是否会帮助,但我发现它在几个项目非常宝贵的。