有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java日期格式到JavaScript日期格式

我希望能够将Java日期格式字符串,例如dd/MM/yyyy(2009年6月7日)转换为JavaScript日期格式字符串,例如dd/MM/yy(2009年6月7日)

以前有人这样做过吗,或者知道我在哪里可以找到一些已经这样做的代码

提前谢谢

编辑:

感谢所有的回复,但现在我意识到了我的错误,可能是为什么你们中的许多人都在努力理解这个问题;JavaScript没有内置的日期格式化功能。我使用的是jQuery UI datepicker,我一直在设置它的日期格式,假设它在某个时候会调用一个标准的JS函数,而不是使用它自己的库!当我在谷歌上搜索格式化字符串时,我直接跳到了可以使用哪些字母的表格,跳过了开头解释如何使用脚本的部分

无论如何,我必须继续写我自己的,我想,将Java日期格式字符串转换成jQuery日期格式字符串(或尽可能接近)-我正在开发我们产品的i18n,并创建了一个Java类来存储整个应用程序中使用的首选日期格式字符串,我的目的是能够为任何JSP提供与JS中的格式字符串等效的格式字符串

谢谢你


共 (4) 个答案

  1. # 1 楼答案

    这个JavaScript库应该能够帮助您

    http://plugins.jquery.com/project/fIsForFormat

    (我不知道他们为什么把它作为jQuery插件,因为它是独立工作的。)

    只需将原始格式的日期拆分为各个元素,然后用这些元素创建一个新的日期对象。然后,使用该库的“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);
    
  2. # 2 楼答案

    看看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。我认为这两个图书馆相辅相成

  3. # 3 楼答案

    这里也回答了一个类似的问题: Converting dates in JavaScript

    我个人觉得这是一个相当大的痛苦,并采纳了作者的建议,使用了一个图书馆。如前所述,jQuery datepicker有一个可行的解决方案,如果您能够负担应用程序的下载开销或已经在使用它的话

  4. # 4 楼答案

    你可以使用我的插件jquery-dateFormat

    // 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");