def runTest(self): # now() dt = datetime.now() s = dt.isoformat() self.assertTrue(isinstance(s, str) and len(s) > 0) s = dt.strftime("%z") self.assertTrue(isinstance(s, str) and len(s) > 0) s = dt.strftime("%Z") self.assertTrue(isinstance(s, str) and len(s) > 0) # strftime s = datetime.strftime('%a', dt) self.assertTrue(isinstance(s, str) and len(s) > 0) s = datetime.strftime('%%', dt) self.assertEqual(s, '%') # Failed under msys python3.7.2 #s = datetime.strftime('%u', dt) #self.assertTrue(isinstance(s, str) and len(s) > 0) #s = datetime.strftime('%V', dt) #self.assertTrue(isinstance(s, str) and len(s) > 0) # strfcal s = datetime.strfcal('%w', dt) self.assertTrue(isinstance(s, str) and len(s) > 0) s = datetime.strfcal('%W', dt) self.assertTrue(isinstance(s, str) and len(s) > 0) s = datetime.strfcal('%Y', dt) self.assertTrue(isinstance(s, str) and len(s) > 0) s = datetime.strfcal('%%', dt) self.assertEqual(s, '%') # weekcalendar year, week, weekday = datetime.weekcalendar(dt) self.assertTrue(isinstance(year, int) and 1900 < year and 3000 > year) self.assertTrue(isinstance(week, int) and 1 <= week and 53 >= week) self.assertTrue( isinstance(weekday, int) and 1 <= weekday and 7 >= weekday) # dates_for_week start, end = datetime.dates_for_week(year, week) self.assertTrue(isinstance(start, datetime.date)) self.assertTrue(isinstance(end, datetime.date)) self.assertTrue(start <= dt.date() and end >= dt.date())
def runTest(self): # now() dt = datetime.now() s = dt.isoformat() self.assertTrue(isinstance(s, basestring) and len(s) > 0) s = dt.strftime("%z") self.assertTrue(isinstance(s, basestring) and len(s) > 0) s = dt.strftime("%Z") self.assertTrue(isinstance(s, basestring) and len(s) > 0) # strftime s = datetime.strftime('%a', dt) self.assertTrue(isinstance(s, basestring) and len(s) > 0) s = datetime.strftime('%%', dt) self.assertEqual(s, '%') s = datetime.strftime('%u', dt) self.assertTrue(isinstance(s, basestring) and len(s) > 0) s = datetime.strftime('%V', dt) self.assertTrue(isinstance(s, basestring) and len(s) > 0) # strfcal s = datetime.strfcal('%w', dt) self.assertTrue(isinstance(s, basestring) and len(s) > 0) s = datetime.strfcal('%W', dt) self.assertTrue(isinstance(s, basestring) and len(s) > 0) s = datetime.strfcal('%Y', dt) self.assertTrue(isinstance(s, basestring) and len(s) > 0) s = datetime.strfcal('%%', dt) self.assertEqual(s, '%') # weekcalendar year, week, weekday = datetime.weekcalendar(dt) self.assertTrue(isinstance(year, int) and 1900 < year and 3000 > year) self.assertTrue(isinstance(week, int) and 1 <= week and 53 >= week) self.assertTrue(isinstance(weekday, int) and 1 <= weekday and 7 >= weekday) # dates_for_week start, end = datetime.dates_for_week(year, week) self.assertTrue(isinstance(start, datetime.date)) self.assertTrue(isinstance(end, datetime.date)) self.assertTrue(start <= dt.date() and end >= dt.date())
def template_strftime(format, date=None): '''Template function wrapper for strftime''' try: if date is None: string = datetime.strftime(format, datetime.now()) elif isinstance(date, (datetime.date, datetime.datetime)): string = datetime.strftime(format, date) else: raise Error, 'Not a datetime object: %s' % date # strftime returns locale as understood by the C api # unfortunately there is no guarantee we can actually # decode it ... return string except: logger.exception('Error in strftime "%s"', format)
def _refresh_label(self, *a): #print "UPDATE LABEL %s" % id(self) format = _('%A %d %B %Y').replace(' 0', ' ') # T: strftime format for current date label text = datetime.strftime(format, datetime.date.today()) self.label.set_text(text) return True # else timer is stopped
def find_date_heading(buffer): """Find a heading @param buffer: the C{gtk.TextBuffer} @returns: a C{gtk.TextIter} for cursor at end of header or C{None} """ # TODO: use journal plugin settings to get heading? today = datetime.strftime("%A %0d %B", datetime.datetime.today()) regex = "^%s$" % re.escape(today) # "^%A %0d %B$" with buffer.tmp_cursor(): if buffer.finder.find(regex, FIND_REGEX): myiter = buffer.get_insert_iter() start = myiter.get_offset() else: return None while not _is_heading(myiter): if buffer.finder.find_next(): myiter = buffer.get_insert_iter() if myiter.get_offset() == start: return None # break infinite loop else: return None # haven't returned None, current line should be a header if _is_heading(myiter): start, end = buffer.get_line_bounds(myiter.get_line()) return end
def insert_abs_date(self): """insert link to abs date where we are editing""" path = self.current_date_page().name buffer = self.pageview.textview.get_buffer() datefmt = self.plugin.preferences['date_fmt'] today = datetime.strftime(datefmt, datetime.datetime.today()) datelink = zim_xml(xml_link(path, today)) buffer.insert_parsetree_at_cursor(datelink)
def render_date(col, cell, model, i, data): mtime = model.get_value(i, self.MODIFIED_COL) if mtime: dt = datetime.datetime.fromtimestamp(mtime) date = dt.date() if date == today: text = _('Today') + datetime.strftime(' %H:%M', dt) # T: label for modified time elif date == yesterday: text = _('Yesterday') + datetime.strftime(' %H:%M', dt) # T: label for modified time elif date.year == today.year: text = datetime.strftime('%a %d %b %H:%M', dt) # TODO allow config for format ? else: text = datetime.strftime('%a %d %b %Y %H:%M', dt) # TODO allow config for format ? else: text = '' cell.set_property('text', text)
def render_date(col, cell, model, i): utime = model.get_value(i, self.MODIFIED_COL) if utime: utime = float(utime) dt = datetime.datetime.fromtimestamp(utime) date = dt.date() if date == today: text = _('Today') + datetime.strftime(' %H:%M', dt) # T: label for modified time elif date == yesterday: text = _('Yesterday') + datetime.strftime(' %H:%M', dt) # T: label for modified time elif date.year == today.year: text = datetime.strftime('%a %d %b %H:%M', dt) # TODO allow config for format ? else: text = datetime.strftime('%a %d %b %Y %H:%M', dt) # TODO allow config for format ? else: text = '' cell.set_property('text', text)