how can I format a date from a standard JS date object, which has come from the server and is fed into React via Redux through a REST api, which has an initial output of:

```
"2016-05-16T13:07:00.000Z"

```

Into a different format? So it is listed as `DD MM YYYY`?

Can I do this in the Reducer of Action by manipulating the request result, or the payload:

```
import { FETCH_BOOKS, FETCH_BOOK } from '../actions';

const INITIAL_STATE = { books: [], book: null };

export default function(state = INITIAL_STATE, action) {
    switch(action.type) {
        case FETCH_BOOK:
            return { ...state, book: action.payload.data };
        case FETCH_BOOKS:
            return { ...state, books: action.payload.data };
    }
    return state;
}

```

With action:

```
export function fetchBooks() {
    const request = axios.get('/api/books');

    return {
        type: FETCH_BOOKS,
        payload: request
    }
}

```

`fetchBooks()` is called in the `componentWillMount()` method of the Books React component:

```
componentWillMount() {
    this.props.fetchBooks();
}

```

The api returns the following structured JSON:

```
[{"_id":0,"date":"2016-05-16T13:07:00.000Z","title":"Eloquent JavaScript","description":"Learn JavaScript"}]

```

Update
======

Thank you very much Nicole and nrabinowitz - I have implemented the following changes... in the action creators 

```
function transformDateFormat(json) {
    const book = {
        ...json,
        id: json.data._id,
        // date: new Date(moment(json.data.date).format('yyyy-MM-dd'))
        date: new Date(json.data.date)
    }
    console.log(book);
    return book;
}

export function fetchBook(id) {
    const request = axios.get(`/api/books/${id}`)
        .then(transformDateFormat);

    return {
        type: FETCH_BOOK,
        payload: request 
    }
};

```

I am logging the book object in the transform date function, and it is adding `id` and `date` to the root of the object, but the structure of the json actually needs to be `book.data.id` and `book.data.date`. I'm not sure how to create the correct structure within the transformDate function to return to the action creator.

This is the book object from the transform date function console log:

```
Object {data: Object, status: 200, statusText: "OK", headers: Object, config: Object…}
config: Object
data: Object
    __v:0
    _id: "5749f1e0c373602b0e000001"
    date: "2016-05-28T00:00:00.000Z"
    name:"Eloquent JavaScript"
    __proto__:Object
date: Sat May 28 2016 01:00:00 GMT+0100 (BST)
headers: Object
id: "5749f1e0c373602b0e000001"
request: XMLHttpRequest
status: 200
statusText: "OK"
__proto__: Object

```

My function needs to place the id and date inside the data object. (The date is just standard date format as something is wrong with my implementation of moment (`date: new Date(moment(json.data.date).format('yyyy-MM-dd'))` returns `Invalid date`).

Thanks again for all your help - really appreciated.