Как преобразовать число в datetime в Python [duplicate]

Посмотрите на этот пример:

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope,$http) {

    var getJoke = function(){
        return $http.get('http://api.icndb.com/jokes/random').then(function(res){
            return res.data.value;  
        });
    }

    getJoke().then(function(res) {
        console.log(res.joke);
    });
});

Как вы можете видеть, getJoke возвращает разрешенное обещание (оно разрешено при возврате res.data.value). Таким образом, вы ждете, пока запрос $ http.get не будет завершен, а затем выполнится console.log (res.joke) (как обычный асинхронный поток).

Это plnkr:

http://embed.plnkr.co/XlNR7HpCaIhJxskMJfSg/

6
задан jonrsharpe 24 September 2014 в 08:18
поделиться

2 ответа

a[0] является xlrd.Cell , поэтому вам нужно использовать a[0].value для доступа к содержимому ячейки.

Кроме того, вы не можете распаковать year, month, day, hour, minute, потому что в полученном корте более пяти значений (что относительно second?) Однако вы можете избежать этого, используя распаковку кортежа (см., например, Что делает ** (двойная звезда) и * (звезда) для параметров? ) вместо временных переменных:

py_date = datetime.datetime(*xlrd.xldate_as_tuple(a[0].value,
                                                  book.datemode))
19
ответ дан Community 26 August 2018 в 02:36
поделиться

принятый ответ jonrsharpe работает хорошо. Но это чище:

py_date = xlrd.xldate.xldate_as_datetime(a[0].value, book.datemode)
9
ответ дан dopstar 26 August 2018 в 02:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: