Помните об этом, и вам не нужно было снова запутываться в преобразовании даты и времени.
String to datetime object = strptime
объект datetime для других форматов = strftime
Jun 1 2005 1:33PM
равно
%b %d %Y %I:%M%p
% b Месяц по сокращенному имени locale (июн)
% d День месяца как десятичное число с нулевым запасом (1)
% Y Год со столетием как десятичное число (2015)
% I Час (12-часовые часы) в виде десятичного числа с нулевым запасом (01)
% M Минута как десятичное число с нулевым запасом (33)
% p Значения локали либо AM или PM (PM)
blockquote>, поэтому вам нужно strptime, т.е. преобразование
string
в>>> dates = [] >>> dates.append('Jun 1 2005 1:33PM') >>> dates.append('Aug 28 1999 12:00AM') >>> from datetime import datetime >>> for d in dates: ... date = datetime.strptime(d, '%b %d %Y %I:%M%p') ... print type(date) ... print date ...
Выход
<type 'datetime.datetime'> 2005-06-01 13:33:00 <type 'datetime.datetime'> 1999-08-28 00:00:00
Что если у вас есть другой формат дат, вы можете использовать panda или dateutil.parse
>>> import dateutil >>> dates = [] >>> dates.append('12 1 2017') >>> dates.append('1 1 2017') >>> dates.append('1 12 2017') >>> dates.append('June 1 2017 1:30:00AM') >>> [parser.parse(x) for x in dates]
OutPut
[datetime.datetime(2017, 12, 1, 0, 0), datetime.datetime(2017, 1, 1, 0, 0), datetime.datetime(2017, 1, 12, 0, 0), datetime.datetime(2017, 6, 1, 1, 30)]
У вас есть несколько вариантов:
<час> Вы можете смоделировать ora
так:
jest.mock('ora', () => {
const start = jest.fn();
const result = { start };
return jest.fn(() => result);
});
... и затем позвонить ora
, чтобы получить объект, который он возвращает (поскольку он всегда возвращает один и тот же объект) и использует этот объект для доступа к start
:
it('should call ora start', () => {
const result = ora();
expect(result.start).toHaveBeenCalled(); // Success!
});
Или, если хотите, вы можете присоединить макет start
как свойство на ora
макет как простой способ получить к нему доступ во время ваших тестов, например:
const ora = require('ora');
jest.mock('ora', () => {
const start = jest.fn();
const result = { start };
const ora = jest.fn(() => result);
ora.start = start; // attach the start mock to ora
return ora;
});
const startSpinner = require('./startSpinner');
describe('startSpinner', () => {
beforeEach(() => {
startSpinner({});
});
describe('ora', () => {
it('should call ora', () => {
expect(ora).toHaveBeenCalled(); // Success!
});
it('should call ora start', () => {
expect(ora.start).toHaveBeenCalled(); // Success!
});
});
});