本文整理匯總了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)