转换html日期格式以在nodejs路由中使用

问题描述 投票:0回答:1

我正在尝试将日期选择发送到mysql数据库,当前日期列格式为dd / mm / yyyy,我使用标准的html输入日期,它通过数据发送不正确的格式,并尝试使用下面的js来改变这看起来很尴尬。我的convertStr函数不起作用。

请求

http://localhost:1234/dateAuthor?sday=2018-01-01&eday=2018-01-01

JS

   function convertStr(date){
     console.log(date)
    var date_element = date.split('.');
    var reverse_date_element =date_element.reverse();
    return reverse_date_element.join('.');
  }

  app.get('/dateAuthor',function(req,res){

    sDate = req.query.sday;
    eDate = req.query.eday;
    startDate = convertStr(sDate)
    endDate = convertStr(eDate)

    console.log(startDate, endDate)

阿贾克斯

  $("#dateGet").on('submit', function(e){
      e.preventDefault();
       $.ajax({
        type: "GET",
        url: "http://localhost:1234/dateAuthor",
        crossDomain: true,
        dataType: "json",
        data: $("#dateGet").serialize(),
      });
    });

HTML

  <form action="get" id="dateGet">
  Start Date: <input type="date" name="sday">
  End Date: <input type="date" name="eday">
  <input type="submit">
</form>
javascript node.js ajax html5
1个回答
0
投票

如果您不介意,可以尝试使用moment.js来操纵项目中的日期。

const date = moment(sDate, 'yyyy-mm-dd', true).format('dd/mm/yyyy')

否则,尝试用convertStrdate.split('-')更改你的reverse_date_element.join('/')

© www.soinside.com 2019 - 2024. All rights reserved.