将iso8601日期格式转换为日期对象

时间:2018-01-07 04:20:52

标签: javascript jquery ajax

snippet of The date format received 我想在HTML表格中显示日期,但无法将iso8601类型的日期格式转换为日期对象。

$(document).ready(function(){

    var startDate;
    var formattedDate;
    var day;


    $(function(){
        $.ajax({
            url: "http://localhost:8080/employee/101",
            method: "Get",
            success: function(data,status){
                startDate = new Date(data.joinDate);
                day = startDate.dayOfWeek;
                console.log(startDate);
            }   
        });
    });
  

我收到错误:“console.log(startDate);”

的日期无效

我还需要增加日期,但坚持将iso8601格式转换为普通日期对象。

2 个答案:

答案 0 :(得分:0)

由于您完成了employee/101数据响应所有内容:

enter image description here



var data = {
  dayOfMonth: 14,
  monthValue: 11, // NOVEMBER, we need to -1 it since Date expects 0 based month value
  year: 2017,
}

var dateObject = new Date(data.year, data.monthValue - 1, data.dayOfMonth);

alert(dateObject)




在我的语言环境中:

  

2017年11月14日星期二00:00:00 GMT + 0100(中欧标准时间)

BTW startDate.dayOfWeek给定startDate是一个Date对象,你不能像你一样使用dayOfWeek

答案 1 :(得分:0)

感谢您的帮助。 我终于让它工作如下: 我能够显示日期,虽然我需要更多的修改来显示日期和月份ÝYY.But仍然我认为这是一个很好的进展。

的javascript:

<script type="text/javascript">
    $(document).ready(function(){

        var dateObj;

        $(function(){
            $.ajax({
                url: "http://localhost:8080/employee/101",
                method: "Get",
                success: function(data,status){

                    dateObj = new Date(data.joinDate.year,
                                       data.joinDate.monthValue - 1,
                                       data.joinDate.dayOfMonth);
                    console.log(dateObj);


                $('#timeTable th:not(:first-child)').each(function(){
                if($(this).attr('Id') === 'totalHours') return;
                $(this).text(dateObj.getDate()+'-'+dateObj.getMonth()+'-'+dateObj.getFullYear());
                dateObj.setDate(dateObj.getDate() + 1);
                }); 
            }
            });
        });
    });

</script>

我的html表:

<table Id="timeTable" class="table table-bordered">
    <thead>
      <tr>
        <th>Projects</th>
        <th id="mon" style="width:100px"></th>
        <th id="tue" style="width:100px"></th>
        <th id="wed" style="width:100px"></th>
        <th id="thu" style="width:100px"></th>
        <th id="fri" style="width:100px"></th>
        <th id="sat" style="width:100px"></th>
        <th id="sun" style="width:100px"></th>
        <th id="totalHours" style="width:100px"></th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Task1</td>
        <td contenteditable='true'></td>
        <td contenteditable='true'>2</td>
        <td contenteditable='true'></td>
        <td contenteditable='true'>3</td>
        <td contenteditable='true'>4</td>
        <td contenteditable='true'> </td>
        <td contenteditable='true'> </td>
        <td contenteditable='true'> </td>
      </tr>
      <tr>
        <td contenteditable='true'>Task2</td>
        <td contenteditable='true' >5</td>
        <td contenteditable='true' >2</td>
        <td contenteditable='true' >2.5</td>
        <td contenteditable='true' >3</td>
        <td contenteditable='true' >4</td>
        <td contenteditable='true' > </td>
        <td contenteditable='true' > </td>
        <td contenteditable='true' > </td>
      </tr>
      <tr>
        <td>Task3</td>
        <td>5</td>
        <td>2</td>
        <td>2.5</td>
        <td>3</td>
        <td>4</td>
        <td> </td>
        <td> </td>
        <td> </td>
      </tr>
    </tbody>
  </table>