在Java Script中将日期格式从一种格式更改为另一种格式

时间:2018-05-31 06:42:41

标签: javascript

日期可以采用任何格式 25.10.2018 25.10.18 25-12-2018 25-12 -18 ,需要将此日期更改为 25/10/2018 此格式。

用户可以输入任何上述格式的日期,我需要先区分哪种格式,然后需要将格式更改为所需的格式。

我不想使用任何第三方JavaScript文件。

5 个答案:

答案 0 :(得分:1)

您可以使用momentjs轻松完成此操作。

检查以下工作示例:

let d1 = "25.10.2018";
console.log(moment(d1, "DD.MM.YYYY").format("DD/MM/YYYY"));

let d2 = "25.10.18";
console.log(moment(d2, "DD.MM.YY").format("DD/MM/YYYY"));

let d3 = "25-12-2018";
console.log(moment(d3, "DD-MM-YYYY").format("DD/MM/YYYY"));


let d4 = "25-12-18";
console.log(moment(d4, "DD-MM-YY").format("DD/MM/YYYY"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.js"></script>

答案 1 :(得分:1)

因此,您的原始日期包含val df = List( ("city1","A1"), ("city2","A2"), ("city1","C1"), ("city2","B2"), ("city1","B1"), ("city2","C2")) .toDF("city","val") df.sort("city", "val") .withColumn("city-part",col("city")) .coalesce(1) .write .partitionBy("city-part") .format("csv") .save("/output-path") 之类的特殊字符。因此,您可以使用该字符进行拆分,并为.,- 1位数添加0。对于年份格式,请使用month and date得到正确的一年甚至两位数提供....

&#13;
&#13;
new Date
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您需要Date才能保留全年,因为两位数年份值会评估无效日期。

&#13;
&#13;
function parse(str) {
  var result = {
    'input': str,
    'output': null
  };
  var tmp = str.split(/[\.|\-]/);
  if (tmp && 3 === tmp.length) {
    if (2 === tmp[2].length) {
      tmp[2] = new Date().getFullYear().toString().substr(0, 2) + tmp[2];
    }
    if (1 === tmp[1].length) {
      tmp[1] = '0' + tmp[1];
    }
    result.output = tmp.join('/');
  }
  return result;
}
console.log(parse("25.10.2018"));
console.log(parse("25.10.18"));

console.log(parse("25-10-2018"));
console.log(parse("25-10-18"));

console.log(parse("25.1.2018"));
console.log(parse("05.10.2018"));
&#13;
&#13;
&#13;

答案 3 :(得分:-1)

function replaceAll(string, search, replacement) {
    return string.replace(new RegExp(search, 'g'), replacement);
};
const newDate = replaceAll(oldDate, '.', '/');

答案 4 :(得分:-2)

String.prototype.replaceAll = function(str1, str2, ignore) 
{
    return this.replace(new RegExp(str1.replace(/([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g,"\\$&"),(ignore?"gi":"g")),(typeof(str2)=="string")?str2.replace(/\$/g,"$$$$"):str2);
} 

"25.10.2018".replaceAll(".", "/");