Python datetime.datetime.date() Examples
The following are 30
code examples of datetime.datetime.date().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
datetime.datetime
, or try the search function
.
Example #1
Source File: _converter.py From recruit with Apache License 2.0 | 6 votes |
def _convert_1d(values, units, axis): if not hasattr(axis, 'freq'): raise TypeError('Axis must have `freq` set to convert to Periods') valid_types = (compat.string_types, datetime, Period, pydt.date, pydt.time, np.datetime64) if (isinstance(values, valid_types) or is_integer(values) or is_float(values)): return get_datevalue(values, axis.freq) elif isinstance(values, PeriodIndex): return values.asfreq(axis.freq)._ndarray_values elif isinstance(values, Index): return values.map(lambda x: get_datevalue(x, axis.freq)) elif lib.infer_dtype(values, skipna=False) == 'period': # https://github.com/pandas-dev/pandas/issues/24304 # convert ndarray[period] -> PeriodIndex return PeriodIndex(values, freq=axis.freq)._ndarray_values elif isinstance(values, (list, tuple, np.ndarray, Index)): return [get_datevalue(x, axis.freq) for x in values] return values
Example #2
Source File: offsets.py From recruit with Apache License 2.0 | 6 votes |
def apply(self, other): # Timestamp can handle tz and nano sec, thus no need to use apply_wraps if isinstance(other, Timestamp): # GH 15126 # in order to avoid a recursive # call of __add__ and __radd__ if there is # an exception, when we call using the + operator, # we directly call the known method result = other.__add__(self) if result == NotImplemented: raise OverflowError return result elif isinstance(other, (datetime, np.datetime64, date)): return as_timestamp(other) + self if isinstance(other, timedelta): return other + self.delta elif isinstance(other, type(self)): return type(self)(self.n + other.n) raise ApplyTypeError('Unhandled type: {type_str}' .format(type_str=type(other).__name__))
Example #3
Source File: test_lib.py From dataflows with MIT License | 6 votes |
def test_load_dates_timezones(): from dataflows import Flow, checkpoint from datetime import datetime, timezone import shutil dates = [ datetime.now(), datetime.now(timezone.utc).astimezone() ] shutil.rmtree('.checkpoints/test_load_dates_timezones', ignore_errors=True) Flow( [{'date': d.date(), 'datetime': d} for d in dates], checkpoint('test_load_dates_timezones') ).process() results = Flow( checkpoint('test_load_dates_timezones') ).results() assert list(map(lambda x: x['date'], results[0][0])) == \ list(map(lambda x: x.date(), dates)) assert list(map(lambda x: x['datetime'], results[0][0])) == \ list(map(lambda x: x, dates))
Example #4
Source File: test_lib.py From dataflows with MIT License | 6 votes |
def test_sort_rows_datetime(): import datetime from dataflows import sort_rows f = Flow( [ {'a': datetime.date(2000, 1, 3)}, {'a': datetime.date(2010, 1, 2)}, {'a': datetime.date(2020, 1, 1)}, ], sort_rows(key='{a}'), ) results, _, _ = f.results() assert list(results[0]) == [ {'a': datetime.date(2000, 1, 3)}, {'a': datetime.date(2010, 1, 2)}, {'a': datetime.date(2020, 1, 1)}, ]
Example #5
Source File: api_client.py From docusign-python-client with MIT License | 6 votes |
def __deserialize_date(self, string): """ Deserializes string to date. :param string: str. :return: date. """ try: from dateutil.parser import parse return parse(string).date() except ImportError: return string except ValueError: raise ApiException( status=0, reason="Failed to parse `{0}` into a date object".format(string) )
Example #6
Source File: offsets.py From recruit with Apache License 2.0 | 6 votes |
def apply(self, other): current_easter = easter(other.year) current_easter = datetime(current_easter.year, current_easter.month, current_easter.day) current_easter = conversion.localize_pydatetime(current_easter, other.tzinfo) n = self.n if n >= 0 and other < current_easter: n -= 1 elif n < 0 and other > current_easter: n += 1 # TODO: Why does this handle the 0 case the opposite of others? # NOTE: easter returns a datetime.date so we have to convert to type of # other new = easter(other.year + n) new = datetime(new.year, new.month, new.day, other.hour, other.minute, other.second, other.microsecond) return new
Example #7
Source File: _converter.py From vnpy_crypto with MIT License | 6 votes |
def _convert_1d(values, units, axis): if not hasattr(axis, 'freq'): raise TypeError('Axis must have `freq` set to convert to Periods') valid_types = (compat.string_types, datetime, Period, pydt.date, pydt.time, np.datetime64) if (isinstance(values, valid_types) or is_integer(values) or is_float(values)): return get_datevalue(values, axis.freq) if isinstance(values, PeriodIndex): return values.asfreq(axis.freq)._ndarray_values if isinstance(values, Index): return values.map(lambda x: get_datevalue(x, axis.freq)) if is_period_arraylike(values): return PeriodIndex(values, freq=axis.freq)._ndarray_values if isinstance(values, (list, tuple, np.ndarray, Index)): return [get_datevalue(x, axis.freq) for x in values] return values
Example #8
Source File: _converter.py From recruit with Apache License 2.0 | 6 votes |
def axisinfo(unit, axis): """ Return the :class:`~matplotlib.units.AxisInfo` for *unit*. *unit* is a tzinfo instance or None. The *axis* argument is required but not used. """ tz = unit majloc = PandasAutoDateLocator(tz=tz) majfmt = PandasAutoDateFormatter(majloc, tz=tz) datemin = pydt.date(2000, 1, 1) datemax = pydt.date(2010, 1, 1) return units.AxisInfo(majloc=majloc, majfmt=majfmt, label='', default_limits=(datemin, datemax))
Example #9
Source File: _converter.py From vnpy_crypto with MIT License | 6 votes |
def axisinfo(unit, axis): """ Return the :class:`~matplotlib.units.AxisInfo` for *unit*. *unit* is a tzinfo instance or None. The *axis* argument is required but not used. """ tz = unit majloc = PandasAutoDateLocator(tz=tz) majfmt = PandasAutoDateFormatter(majloc, tz=tz) datemin = pydt.date(2000, 1, 1) datemax = pydt.date(2010, 1, 1) return units.AxisInfo(majloc=majloc, majfmt=majfmt, label='', default_limits=(datemin, datemax))
Example #10
Source File: test_datetime64.py From recruit with Apache License 2.0 | 6 votes |
def test_dt64ser_cmp_date_invalid(self, box_with_array): # GH#19800 datetime.date comparison raises to # match DatetimeIndex/Timestamp. This also matches the behavior # of stdlib datetime.datetime ser = pd.date_range('20010101', periods=10) date = ser.iloc[0].to_pydatetime().date() ser = tm.box_expected(ser, box_with_array) assert not (ser == date).any() assert (ser != date).all() with pytest.raises(TypeError): ser > date with pytest.raises(TypeError): ser < date with pytest.raises(TypeError): ser >= date with pytest.raises(TypeError): ser <= date
Example #11
Source File: test_datetime64.py From recruit with Apache License 2.0 | 6 votes |
def dt64arr_cmp_non_datetime(self, tz_naive_fixture, box_with_array): # GH#19301 by convention datetime.date is not considered comparable # to Timestamp or DatetimeIndex. This may change in the future. tz = tz_naive_fixture dti = pd.date_range('2016-01-01', periods=2, tz=tz) dtarr = tm.box_expected(dti, box_with_array) other = datetime(2016, 1, 1).date() assert not (dtarr == other).any() assert (dtarr != other).all() with pytest.raises(TypeError): dtarr < other with pytest.raises(TypeError): dtarr <= other with pytest.raises(TypeError): dtarr > other with pytest.raises(TypeError): dtarr >= other
Example #12
Source File: __init__.py From pygrametl with BSD 2-Clause "Simplified" License | 6 votes |
def datereader(dateattribute, parsingfunction=ymdparser): """Return a function that converts a certain dict member to a datetime.date When setting, fromfinder for a tables.SlowlyChangingDimension, this method can be used for generating a function that picks the relevant dictionary member from each row and converts it. Arguments: - dateattribute: the attribute the generated function should read - parsingfunction: the parsing function that converts the string to a datetime.date """ def readerfunction(targetconnection, row, namemapping={}): atttouse = (namemapping.get(dateattribute) or dateattribute) return parsingfunction(row[atttouse]) # a datetime.date return readerfunction
Example #13
Source File: offsets.py From vnpy_crypto with MIT License | 6 votes |
def apply_index(self, i): # determine how many days away from the 1st of the month we are days_from_start = i.to_perioddelta('M').asi8 delta = Timedelta(days=self.day_of_month - 1).value # get boolean array for each element before the day_of_month before_day_of_month = days_from_start < delta # get boolean array for each element after the day_of_month after_day_of_month = days_from_start > delta # determine the correct n for each date in i roll = self._get_roll(i, before_day_of_month, after_day_of_month) # isolate the time since it will be striped away one the next line time = i.to_perioddelta('D') # apply the correct number of months i = (i.to_period('M') + (roll // 2)).to_timestamp() # apply the correct day i = self._apply_index_days(i, roll) return i + time
Example #14
Source File: isoparser.py From recruit with Apache License 2.0 | 5 votes |
def _calculate_weekdate(self, year, week, day): """ Calculate the day of corresponding to the ISO year-week-day calendar. This function is effectively the inverse of :func:`datetime.date.isocalendar`. :param year: The year in the ISO calendar :param week: The week in the ISO calendar - range is [1, 53] :param day: The day in the ISO calendar - range is [1 (MON), 7 (SUN)] :return: Returns a :class:`datetime.date` """ if not 0 < week < 54: raise ValueError('Invalid week: {}'.format(week)) if not 0 < day < 8: # Range is 1-7 raise ValueError('Invalid weekday: {}'.format(day)) # Get week 1 for the specific year: jan_4 = date(year, 1, 4) # Week 1 always has January 4th in it week_1 = jan_4 - timedelta(days=jan_4.isocalendar()[2] - 1) # Now add the specific number of weeks and days to get what we want week_offset = (week - 1) * 7 + (day - 1) return week_1 + timedelta(days=week_offset)
Example #15
Source File: _converter.py From vnpy_crypto with MIT License | 5 votes |
def get_datevalue(date, freq): if isinstance(date, Period): return date.asfreq(freq).ordinal elif isinstance(date, (compat.string_types, datetime, pydt.date, pydt.time, np.datetime64)): return Period(date, freq).ordinal elif (is_integer(date) or is_float(date) or (isinstance(date, (np.ndarray, Index)) and (date.size == 1))): return date elif date is None: return None raise ValueError("Unrecognizable date '{date}'".format(date=date))
Example #16
Source File: offsets.py From vnpy_crypto with MIT License | 5 votes |
def onOffset(self, dt): if self.normalize and not _is_normalized(dt): return False # XXX, see #1395 if type(self) == DateOffset or isinstance(self, Tick): return True # Default (slow) method for determining if some date is a member of the # date range generated by this offset. Subclasses may have this # re-implemented in a nicer way. a = dt b = ((dt + self) - self) return a == b # way to get around weirdness with rule_code
Example #17
Source File: _converter.py From vnpy_crypto with MIT License | 5 votes |
def _dt_to_float_ordinal(dt): """ Convert :mod:`datetime` to the Gregorian date as UTC float days, preserving hours, minutes, seconds and microseconds. Return value is a :func:`float`. """ if (isinstance(dt, (np.ndarray, Index, ABCSeries) ) and is_datetime64_ns_dtype(dt)): base = dates.epoch2num(dt.asi8 / 1.0E9) else: base = dates.date2num(dt) return base # Datetime Conversion
Example #18
Source File: offsets.py From vnpy_crypto with MIT License | 5 votes |
def rollback(self, dt): """Roll provided date backward to next offset only if not on offset""" dt = as_timestamp(dt) if not self.onOffset(dt): dt = dt - self.__class__(1, normalize=self.normalize, **self.kwds) return dt
Example #19
Source File: offsets.py From vnpy_crypto with MIT License | 5 votes |
def rollforward(self, dt): """Roll provided date forward to next offset only if not on offset""" dt = as_timestamp(dt) if not self.onOffset(dt): dt = dt + self.__class__(1, normalize=self.normalize, **self.kwds) return dt
Example #20
Source File: azure_report_db_accessor.py From koku with GNU Affero General Public License v3.0 | 5 votes |
def populate_line_item_daily_summary_table(self, start_date, end_date, bill_ids): """Populate the daily aggregated summary of line items table. Args: start_date (datetime.date) The date to start populating the table. end_date (datetime.date) The date to end on. Returns (None) """ _start_date = start_date.date() if isinstance(start_date, datetime) else start_date _end_date = end_date.date() if isinstance(end_date, datetime) else end_date table_name = AZURE_REPORT_TABLE_MAP["line_item_daily_summary"] summary_sql = pkgutil.get_data("masu.database", "sql/reporting_azurecostentrylineitem_daily_summary.sql") summary_sql = summary_sql.decode("utf-8") summary_sql_params = { "uuid": str(uuid.uuid4()).replace("-", "_"), "start_date": _start_date, "end_date": _end_date, "bill_ids": bill_ids, "schema": self.schema, } summary_sql, summary_sql_params = self.jinja_sql.prepare_query(summary_sql, summary_sql_params) self._execute_raw_sql_query( table_name, summary_sql, start_date, end_date, bind_params=list(summary_sql_params) )
Example #21
Source File: offsets.py From vnpy_crypto with MIT License | 5 votes |
def apply(self, other): if self.n <= 0: roll = 'forward' else: roll = 'backward' if isinstance(other, datetime): date_in = other np_dt = np.datetime64(date_in.date()) np_incr_dt = np.busday_offset(np_dt, self.n, roll=roll, busdaycal=self.calendar) dt_date = np_incr_dt.astype(datetime) result = datetime.combine(dt_date, date_in.time()) if self.offset: result = result + self.offset return result elif isinstance(other, (timedelta, Tick)): return BDay(self.n, offset=self.offset + other, normalize=self.normalize) else: raise ApplyTypeError('Only know how to combine trading day with ' 'datetime, datetime64 or timedelta.')
Example #22
Source File: azure_report_db_accessor.py From koku with GNU Affero General Public License v3.0 | 5 votes |
def bills_for_provider_uuid(self, provider_uuid, start_date=None): """Return all cost entry bills for provider_uuid on date.""" bills = self.get_cost_entry_bills_query_by_provider(provider_uuid) if start_date: if isinstance(start_date, str): start_date = parse(start_date) bill_date = start_date.replace(day=1) bills = bills.filter(billing_period_start=bill_date) return bills
Example #23
Source File: test_lib.py From dataflows with MIT License | 5 votes |
def test_load_dates(): # from dateutil.tz import tzutc from dataflows import Flow, dump_to_path, load, set_type, ValidationError, exceptions import datetime _today = datetime.date.today() _now = datetime.datetime.now() def run_flow(datetime_format=None): Flow( [{'today': str(_today), 'now': str(_now)}], set_type('today', type='date'), set_type('now', type='datetime', format=datetime_format), dump_to_path('out/dump_dates') ).process() with pytest.raises(exceptions.ProcessorError) as excinfo: run_flow() assert isinstance(excinfo.value.cause, ValidationError) # Default is isoformat(), str() gives a slightly different format: # >>> from datetime import datetime # >>> n = datetime.now() # >>> str(n) # '2018-11-22 13:25:47.945209' # >>> n.isoformat() # '2018-11-22T13:25:47.945209' run_flow(datetime_format='%Y-%m-%d %H:%M:%S.%f') out_now = datetime.datetime(_now.year, _now.month, _now.day, _now.hour, _now.minute, _now.second) assert Flow( load('out/dump_dates/datapackage.json'), ).results()[0] == [[{'today': _today, 'now': out_now}]]
Example #24
Source File: gregorian_calendar.py From flask-calendar with The Unlicense | 5 votes |
def previous_month_and_year(year: int, month: int) -> Tuple[int, int]: previous_month_date = date(year, month, 1) - timedelta(days=2) return previous_month_date.month, previous_month_date.year
Example #25
Source File: isoparser.py From recruit with Apache License 2.0 | 5 votes |
def __init__(self, sep=None): """ :param sep: A single character that separates date and time portions. If ``None``, the parser will accept any single character. For strict ISO-8601 adherence, pass ``'T'``. """ if sep is not None: if (len(sep) != 1 or ord(sep) >= 128 or sep in '0123456789'): raise ValueError('Separator must be a single, non-numeric ' + 'ASCII character') sep = sep.encode('ascii') self._sep = sep
Example #26
Source File: datetimes.py From recruit with Apache License 2.0 | 5 votes |
def to_julian_date(self): """ Convert Datetime Array to float64 ndarray of Julian Dates. 0 Julian date is noon January 1, 4713 BC. http://en.wikipedia.org/wiki/Julian_day """ # http://mysite.verizon.net/aesir_research/date/jdalg2.htm year = np.asarray(self.year) month = np.asarray(self.month) day = np.asarray(self.day) testarr = month < 3 year[testarr] -= 1 month[testarr] += 12 return (day + np.fix((153 * month - 457) / 5) + 365 * year + np.floor(year / 4) - np.floor(year / 100) + np.floor(year / 400) + 1721118.5 + (self.hour + self.minute / 60.0 + self.second / 3600.0 + self.microsecond / 3600.0 / 1e+6 + self.nanosecond / 3600.0 / 1e+9 ) / 24.0)
Example #27
Source File: datetimes.py From recruit with Apache License 2.0 | 5 votes |
def date(self): """ Returns numpy array of python datetime.date objects (namely, the date part of Timestamps without timezone information). """ # If the Timestamps have a timezone that is not UTC, # convert them into their i8 representation while # keeping their timezone and not using UTC if self.tz is not None and not timezones.is_utc(self.tz): timestamps = self._local_timestamps() else: timestamps = self.asi8 return tslib.ints_to_pydatetime(timestamps, box="date")
Example #28
Source File: test_excel.py From recruit with Apache License 2.0 | 5 votes |
def test_excel_date_datetime_format(self, merge_cells, engine, ext): # see gh-4133 # # Excel output format strings df = DataFrame([[date(2014, 1, 31), date(1999, 9, 24)], [datetime(1998, 5, 26, 23, 33, 4), datetime(2014, 2, 28, 13, 5, 13)]], index=["DATE", "DATETIME"], columns=["X", "Y"]) df_expected = DataFrame([[datetime(2014, 1, 31), datetime(1999, 9, 24)], [datetime(1998, 5, 26, 23, 33, 4), datetime(2014, 2, 28, 13, 5, 13)]], index=["DATE", "DATETIME"], columns=["X", "Y"]) with ensure_clean(ext) as filename2: writer1 = ExcelWriter(self.path) writer2 = ExcelWriter(filename2, date_format="DD.MM.YYYY", datetime_format="DD.MM.YYYY HH-MM-SS") df.to_excel(writer1, "test1") df.to_excel(writer2, "test1") writer1.close() writer2.close() reader1 = ExcelFile(self.path) reader2 = ExcelFile(filename2) rs1 = read_excel(reader1, "test1", index_col=0) rs2 = read_excel(reader2, "test1", index_col=0) tm.assert_frame_equal(rs1, rs2) # Since the reader returns a datetime object for dates, # we need to use df_expected to check the result. tm.assert_frame_equal(rs2, df_expected)
Example #29
Source File: test_sql.py From recruit with Apache License 2.0 | 5 votes |
def date_format(dt): """Returns date in YYYYMMDD format.""" return dt.strftime('%Y%m%d')
Example #30
Source File: test_sql.py From recruit with Apache License 2.0 | 5 votes |
def test_datetime_date(self): # test support for datetime.date df = DataFrame([date(2014, 1, 1), date(2014, 1, 2)], columns=["a"]) df.to_sql('test_date', self.conn, index=False) res = read_sql_query('SELECT * FROM test_date', self.conn) if self.flavor == 'sqlite': # comes back as strings tm.assert_frame_equal(res, df.astype(str)) elif self.flavor == 'mysql': tm.assert_frame_equal(res, df)