本文整理汇总了Python中datetime.date.min方法的典型用法代码示例。如果您正苦于以下问题:Python date.min方法的具体用法?Python date.min怎么用?Python date.min使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类datetime.date
的用法示例。
在下文中一共展示了date.min方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_date
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def get_date(self, instance):
user = instance.id
today = date.today()
if instance.date is not None:
return instance.date
# calculate last reported day if no specific date is set
max_absence_date = Absence.objects.filter(user=user, date__lt=today).aggregate(
date=Max("date")
)
max_report_date = Report.objects.filter(user=user, date__lt=today).aggregate(
date=Max("date")
)
last_reported_date = max(
max_absence_date["date"] or date.min, max_report_date["date"] or date.min
)
instance.date = last_reported_date
return instance.date
示例2: start
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def start(self, data):
# write down the 'reset when' value
if not isinstance(self.p.when, integer_types): # expect time/datetime
self._rstwhen = self.p.when
self._tzdata = self.p.tzdata
else:
self._tzdata = data if self.p.tzdata is None else self.p.tzdata
if self.p.when == SESSION_START:
self._rstwhen = self._tzdata.p.sessionstart
elif self.p.when == SESSION_END:
self._rstwhen = self._tzdata.p.sessionend
self._isdata = isinstance(self._tzdata, AbstractDataBase)
self._reset_when()
self._nexteos = datetime.min
self._curdate = date.min
self._curmonth = -1 # non-existent month
self._monthmask = collections.deque()
self._curweek = -1 # non-existent week
self._weekmask = collections.deque()
示例3: cast_date
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def cast_date(value, connection):
"""Cast a date value."""
# The output format depends on the server setting DateStyle. The default
# setting ISO and the setting for German are actually unambiguous. The
# order of days and months in the other two settings is however ambiguous,
# so at least here we need to consult the setting to properly parse values.
if value == '-infinity':
return date.min
if value == 'infinity':
return date.max
value = value.split()
if value[-1] == 'BC':
return date.min
value = value[0]
if len(value) > 10:
return date.max
fmt = connection.date_format()
return datetime.strptime(value, fmt).date()
示例4: cast_timestamp
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def cast_timestamp(value, connection):
"""Cast a timestamp value."""
if value == '-infinity':
return datetime.min
if value == 'infinity':
return datetime.max
value = value.split()
if value[-1] == 'BC':
return datetime.min
fmt = connection.date_format()
if fmt.endswith('-%Y') and len(value) > 2:
value = value[1:5]
if len(value[3]) > 4:
return datetime.max
fmt = ['%d %b' if fmt.startswith('%d') else '%b %d',
'%H:%M:%S.%f' if len(value[2]) > 8 else '%H:%M:%S', '%Y']
else:
if len(value[0]) > 10:
return datetime.max
fmt = [fmt, '%H:%M:%S.%f' if len(value[1]) > 8 else '%H:%M:%S']
return datetime.strptime(' '.join(value), ' '.join(fmt))
示例5: testTruncateRestart
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def testTruncateRestart(self):
truncate = self.db.truncate
self.assertRaises(TypeError, truncate, 'test_table', restart='invalid')
query = self.db.query
self.createTable('test_table', 'n serial, t text')
for n in range(3):
query("insert into test_table (t) values ('test')")
q = "select count(n), min(n), max(n) from test_table"
r = query(q).getresult()[0]
self.assertEqual(r, (3, 1, 3))
truncate('test_table')
r = query(q).getresult()[0]
self.assertEqual(r, (0, None, None))
for n in range(3):
query("insert into test_table (t) values ('test')")
r = query(q).getresult()[0]
self.assertEqual(r, (3, 4, 6))
truncate('test_table', restart=True)
r = query(q).getresult()[0]
self.assertEqual(r, (0, None, None))
for n in range(3):
query("insert into test_table (t) values ('test')")
r = query(q).getresult()[0]
self.assertEqual(r, (3, 1, 3))
示例6: testDate
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def testDate(self):
query = self.db.query
for datestyle in ('ISO', 'Postgres, MDY', 'Postgres, DMY',
'SQL, MDY', 'SQL, DMY', 'German'):
self.db.set_parameter('datestyle', datestyle)
d = date(2016, 3, 14)
q = "select $1::date"
r = query(q, (d,)).getresult()[0][0]
self.assertIsInstance(r, date)
self.assertEqual(r, d)
q = "select '10000-08-01'::date, '0099-01-08 BC'::date"
r = query(q).getresult()[0]
self.assertIsInstance(r[0], date)
self.assertIsInstance(r[1], date)
self.assertEqual(r[0], date.max)
self.assertEqual(r[1], date.min)
q = "select 'infinity'::date, '-infinity'::date"
r = query(q).getresult()[0]
self.assertIsInstance(r[0], date)
self.assertIsInstance(r[1], date)
self.assertEqual(r[0], date.max)
self.assertEqual(r[1], date.min)
示例7: test_pivot_integer_columns
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def test_pivot_integer_columns(self):
# caused by upstream bug in unstack
d = date.min
data = list(product(['foo', 'bar'], ['A', 'B', 'C'], ['x1', 'x2'],
[d + timedelta(i)
for i in range(20)], [1.0]))
df = DataFrame(data)
table = df.pivot_table(values=4, index=[0, 1, 3], columns=[2])
df2 = df.rename(columns=str)
table2 = df2.pivot_table(
values='4', index=['0', '1', '3'], columns=['2'])
tm.assert_frame_equal(table, table2, check_names=False)
示例8: _make_combined_transactions
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def _make_combined_transactions(self):
"""
Combine all Transactions and ScheduledTransactions from
``self._data_cache`` into one ordered list of similar dicts, adding
dates to the monthly ScheduledTransactions as appropriate and excluding
ScheduledTransactions that have been converted to real Transactions.
Store the finished list back into ``self._data_cache``.
"""
unordered = []
# ScheduledTransaction ID to count of real trans for each
st_ids = defaultdict(int)
for t in self._data_cache['transactions']:
unordered.append(self._trans_dict(t))
if t.scheduled_trans_id is not None:
st_ids[t.scheduled_trans_id] += 1
for t in self._data_cache['st_date']:
if t.id not in st_ids:
unordered.append(self._trans_dict(t))
for t in self._data_cache['st_monthly']:
if t.id not in st_ids:
unordered.append(self._trans_dict(t))
ordered = []
for t in self._data_cache['st_per_period']:
d = self._trans_dict(t)
for _ in range(0, (t.num_per_period - st_ids[t.id])):
ordered.append(d)
for t in sorted(unordered, key=lambda k: k['date']):
ordered.append(t)
def sortkey(k):
d = k.get('date', None)
if d is None:
d = date.min
return d, k['amount']
return sorted(ordered, key=sortkey)
示例9: __init__
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def __init__(self, env, retry_times=5, retry_interval=1):
self._env = env
self._retry_times = retry_times
self._retry_interval = retry_interval
self._cache = DataCache()
self._query_returns = {}
self._data_update_date = date.min
self.td_api = None
Environment.get_ins_dict = self.get_ins_dict
示例10: test_timespan_list
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def test_timespan_list():
x = N([])
assert x._t == _k.KN
d = timedelta(1, 2, 3)
x = N([None, d, timedelta.max, timedelta.min])
assert eq(x, q('0N 1D00:00:02.000003 0W -0Wn'))
示例11: test_date_and_month_extremes
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def test_date_and_month_extremes():
dates = [date.min, date.max]
assert eq(M(dates), q('0001.01 9999.12m'))
assert eq(D(dates), q('0001.01.01 9999.12.31'))
示例12: _reset_when
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def _reset_when(self, ddate=datetime.min):
self._when = self._rstwhen
self._dtwhen = self._dwhen = None
self._lastcall = ddate
示例13: _check_week
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def _check_week(self, ddate=date.min):
if not self.p.weekdays:
return True
_, dweek, dwkday = ddate.isocalendar()
mask = self._weekmask
daycarry = False
if dweek != self._curweek:
self._curweek = dweek # write down new month
daycarry = self.p.weekcarry and bool(mask)
self._weekmask = mask = collections.deque(self.p.weekdays)
dc = bisect.bisect_left(mask, dwkday) # "left" for days before dday
daycarry = daycarry or (self.p.weekcarry and dc > 0)
if dc < len(mask):
curday = bisect.bisect_right(mask, dwkday, lo=dc) > 0 # check dday
dc += curday
else:
curday = False
while dc:
mask.popleft()
dc -= 1
return daycarry or curday
示例14: cast_timestamptz
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def cast_timestamptz(value, connection):
"""Cast a timestamptz value."""
if value == '-infinity':
return datetime.min
if value == 'infinity':
return datetime.max
value = value.split()
if value[-1] == 'BC':
return datetime.min
fmt = connection.date_format()
if fmt.endswith('-%Y') and len(value) > 2:
value = value[1:]
if len(value[3]) > 4:
return datetime.max
fmt = ['%d %b' if fmt.startswith('%d') else '%b %d',
'%H:%M:%S.%f' if len(value[2]) > 8 else '%H:%M:%S', '%Y']
value, tz = value[:-1], value[-1]
else:
if fmt.startswith('%Y-'):
tz = _re_timezone.match(value[1])
if tz:
value[1], tz = tz.groups()
else:
tz = '+0000'
else:
value, tz = value[:-1], value[-1]
if len(value[0]) > 10:
return datetime.max
fmt = [fmt, '%H:%M:%S.%f' if len(value[1]) > 8 else '%H:%M:%S']
if _has_timezone:
value.append(_timezone_as_offset(tz))
fmt.append('%z')
return datetime.strptime(' '.join(value), ' '.join(fmt))
return datetime.strptime(' '.join(value), ' '.join(fmt)).replace(
tzinfo=_get_timezone(tz))
示例15: testTimestamp
# 需要导入模块: from datetime import date [as 别名]
# 或者: from datetime.date import min [as 别名]
def testTimestamp(self):
query = self.db.query
for datestyle in ('ISO', 'Postgres, MDY', 'Postgres, DMY',
'SQL, MDY', 'SQL, DMY', 'German'):
self.db.set_parameter('datestyle', datestyle)
d = datetime(2016, 3, 14)
q = "select $1::timestamp"
r = query(q, (d,)).getresult()[0][0]
self.assertIsInstance(r, datetime)
self.assertEqual(r, d)
d = datetime(2016, 3, 14, 15, 9, 26)
q = "select $1::timestamp"
r = query(q, (d,)).getresult()[0][0]
self.assertIsInstance(r, datetime)
self.assertEqual(r, d)
d = datetime(2016, 3, 14, 15, 9, 26, 535897)
q = "select $1::timestamp"
r = query(q, (d,)).getresult()[0][0]
self.assertIsInstance(r, datetime)
self.assertEqual(r, d)
q = ("select '10000-08-01 AD'::timestamp,"
" '0099-01-08 BC'::timestamp")
r = query(q).getresult()[0]
self.assertIsInstance(r[0], datetime)
self.assertIsInstance(r[1], datetime)
self.assertEqual(r[0], datetime.max)
self.assertEqual(r[1], datetime.min)
q = "select 'infinity'::timestamp, '-infinity'::timestamp"
r = query(q).getresult()[0]
self.assertIsInstance(r[0], datetime)
self.assertIsInstance(r[1], datetime)
self.assertEqual(r[0], datetime.max)
self.assertEqual(r[1], datetime.min)