如何将2016年1月12日的日期字符串转换为javascript到2016-01-12 00:00:00

时间:2016-01-14 06:36:08

标签: javascript date momentjs

如何将2016年1月12日的javascript日期字符串转换为2016-01-12 00:00:00,

我正在看时刻js但似乎没有选项,而且我尝试了js日期功能但是返回无效日期。

知道我在这里缺少什么吗?

3 个答案:

答案 0 :(得分:1)

您可以使用moment parsing函数和format方法:

var dateString = "12-Jan-2016";
var convertedFormat = moment(dateString, "DD-MMM-YYYY").format("YYYY-MM-DD HH:mm:ss");
console.log(convertedFormat);
// this will display: 2016-01-12 00:00:00

请确保Jan是您所在地区的有效月份。

答案 1 :(得分:1)

如果您只是想重新格式化字符串,那么请不要担心日期:



function reformatDateString(ds) {
   var months = {jan:'01',feb:'02',mar:'03',apr:'04',may:'05',jun:'06',
                 jul:'07',aug:'08',sep:'09',oct:'10',nov:'11',dec:'12'};
  var b = ds.split('-');
  return b[2] + '-' + months[b[1].toLowerCase()] + '-' + b[0] + ' 00:00:00';
}

document.write(reformatDateString('12-Jan-2016'));




但是,如果您确实需要将字符串解析为Date,那么请单独格式化字符串:



function parseDMMMY(s) {
  var months = {jan:0,feb:1,mar:2,apr:3,may:4,jun:5,
                jul:6,aug:7,sep:8,oct:9,nov:10,dec:11};
  var b = s.split(/-/);
  return new Date(b[2], months[b[1].toLowerCase()], b[0]);
}

document.write(parseDMMMY('16-Jan-2016'));

function formatDate(d) {
  function z(n){return ('0'+n).slice(-2)}
  return z(d.getDate()) + '-' + z(d.getMonth()+1) + '-' + d.getFullYear() + 
         ' ' + z(d.getHours()) + ':' + z(d.getMinutes()) + ':' + z(d.getSeconds());
}

document.write('<br>' + formatDate(parseDMMMY('16-Jan-2016')));
&#13;
&#13;
&#13;

答案 2 :(得分:0)

我认为此功能可能会为您提供所需的内容。

 def parseStringDate(String date,Boolean flagTime=false){
    def date
    def Format='yyyy-MM-dd'
    def datePart=_date.toString().substring(0,10)
    if (flagTime){
        date = datePart+" "+_date.toString().substring(11,19)
      Format=Format+" "+'HH:mm:ss'
    }else date = datePart
    return [date, Format]
}