从 mm/dd/yyyy 更改日期格式

Changing the date format from mm/dd/yyyy

我需要将日期格式从 2015-04-08 更改为 08-APR-2015。 它来自 grails gsp 前端。 在调用 oracle 包之前,我需要更改 java 中的格式。 怎么做。

您在回答中提到了 Java 但您标记了 Java 脚本 我已经编辑了您的问题以显示 Java 标记。这是一个Java脚本解决方案。

假设你输入的是 str:

str.split('-').forEach(function(a,i,b){
    result += i===0?(b[2]+'-'):i===1?(((new Date(str)).toUTCString()).split(' ')[2]+'-').toUpperCase():a[0];
});

好的,我已经看到并回答了,但仍然想添加 one.I 我不确定您想要 JS 还是 Java 解决方案。您可以使用 Javascript 或 Java。以下是两种方式:
Java脚本

var c = new Date('2015-04-08');
locale = "en-us" 
function formatDate(d)
 {
    var month = d.toLocaleString(locale, { month: "long" });
    var day = d.getDate();
    day = day + "";
    if (day.length == 1)
     {
     day = "0" + day;
      }
      return day + '-' + month +'-' + d.getFullYear();
  }

如果你想在 Java 中使用相同的内容,你可以在下面做..
Java

String myDateString = "2015-04-08";
String reqDateString = new SimpleDateFormat("dd-MMM-yyyy").format(myDateString);

最好在 Java 中完成看起来更简单可靠..

我使用 SimpleDateFormat 来更改日期格式。试试这个:

String OLD_FORMAT = "yyyy-MM-dd";
String NEW_FORMAT = "dd-MMM-yyyy";

String oldDateString = "2015-04-08";
String newDateString;

SimpleDateFormat sdf = new SimpleDateFormat(OLD_FORMAT);
Date d = sdf.parse(oldDateString);
sdf.applyPattern(NEW_FORMAT);
newDateString = sdf.format(d);