def test_thai_strftime(self): date = datetime.datetime(1976, 10, 6, 1, 40) self.assertEqual(thai_strftime(date, "%c"), "พ 6 ต.ค. 01:40:00 2519") self.assertEqual(thai_strftime(date, "%c", True), "พ ๖ ต.ค. ๐๑:๔๐:๐๐ ๒๕๑๙") self.assertEqual( thai_strftime(date, "%Aที่ %d %B พ.ศ. %Y เวลา %H:%Mน. (%a %d-%b-%y) %% %"), "วันพุธที่ 06 ตุลาคม พ.ศ. 2519 เวลา 01:40น. (พ 06-ต.ค.-19) % %", )
def test_thai_strftime(self): date = datetime.datetime(1976, 10, 6, 1, 40) self.assertEqual(thai_strftime(date, "%c"), "พ 6 ต.ค. 01:40:00 2519") self.assertEqual(thai_strftime(date, "%c", True), "พ ๖ ต.ค. ๐๑:๔๐:๐๐ ๒๕๑๙") self.assertEqual( thai_strftime(date, "%Aที่ %d %B พ.ศ. %Y เวลา %H:%Mน. (%a %d-%b-%y) %% %"), "วันพุธที่ 06 ตุลาคม พ.ศ. 2519 เวลา 01:40น. (พ 06-ต.ค.-19) % %", )
def dt_re(kw): if re.search(datetime_str, kw, 0): date = datetime.datetime.strptime(kw, '%d/%m/%Y %H:%M') return thai_strftime(date, th_datetime_fmt) elif re.search(date_str, kw, 0): date = datetime.datetime.strptime(kw, '%d/%m/%Y') return thai_strftime(date, th_date_fmt) else: pass
def now(text): _n = datetime.now() print("t :", text) if 'พรุ่งนี้' in text: text = "วันพรุ่งนี้เป็น" + thai_strftime(_n + timedelta(days=1), "%A %d %B %Y ") + "ค่ะ" elif "วัน" in text and "เวลา" in text: text = "วันนี้" + thai_strftime( _n, "%A %d %B %Y ") + "เวลา " + thai_time( str(_n.strftime('%H:%M')), "6h") + "ค่ะ" elif "วัน" in text: text = "วันนี้" + thai_strftime(_n, "%A %d %B %Y ") + "ค่ะ" elif 'เวลา' in text or 'เพลา' in text or 'โมง' in text: text = "ขณะนี้เวลา " + thai_time(str(_n.strftime('%H:%M')), "6h") + "ค่ะ" #นาฬิกา else: text = "ระบบบอกเวลา ยังไม่รองรับคำสั่งนี้ค่ะ" return text
def test_thai_strftime(self): date = datetime.datetime(1976, 10, 6, 1, 40) self.assertEqual(thai_strftime(date, "%d"), "06") # self.assertEqual(thai_strftime(date, "%-d"), "6") # No padding self.assertEqual(thai_strftime(date, "%d", True), "๐๖") # Thai digit self.assertEqual(thai_strftime(date, "%%"), "%") # % escape self.assertEqual(thai_strftime(date, "%-"), "-") # Lone dash self.assertEqual(thai_strftime(date, "%c"), "พ 6 ต.ค. 01:40:00 2519") self.assertEqual(thai_strftime(date, "%c", True), "พ ๖ ต.ค. ๐๑:๔๐:๐๐ ๒๕๑๙") self.assertEqual( thai_strftime( date, "%Aที่ %d %B พ.ศ. %Y เวลา %H:%Mน. (%a %d-%b-%y) %% %"), "วันพุธที่ 06 ตุลาคม พ.ศ. 2519 เวลา 01:40น. (พ 06-ต.ค.-19) % %", ) self.assertIsNotNone( thai_strftime(date, "%A%a%B%b%C%c%D%F%G%g%v%X%x%Y%y%+%%"))
def convert_time_thairead(datetime): fmt = "%A %-d/%m/%Y %H:%M" return thai_strftime(datetime, fmt)[3:]
def gettaxdate_thaiformat(self): return thai_strftime(self.gettaxdate(), "%d %b %Y")
def test_thai_strftime(self): date = datetime(1976, 10, 6, 1, 40, tzinfo=timezone.utc) self.assertEqual(thai_strftime(date, "%d"), "06") self.assertEqual(thai_strftime(date, "%-d"), "6") # no padding self.assertEqual(thai_strftime(date, "%_d"), " 6") # space padding self.assertEqual(thai_strftime(date, "%0d"), "06") # zero padding self.assertEqual(thai_strftime(date, "%H"), "01") self.assertEqual(thai_strftime(date, "%-H"), "1") # no padding self.assertEqual(thai_strftime(date, "%_M"), "40") # space padding self.assertEqual(thai_strftime(date, "%0M"), "40") # zero padding self.assertEqual(thai_strftime(date, "%e"), " 6") self.assertEqual(thai_strftime(date, "%-e"), "6") # no padding self.assertEqual(thai_strftime(date, "%_e"), " 6") # space padding self.assertEqual(thai_strftime(date, "%0e"), "06") # zero padding self.assertEqual(thai_strftime(date, "%Ed"), "06") # locale's alt rep self.assertEqual(thai_strftime(date, "%Od"), "๐๖") # locale's numeric self.assertEqual(thai_strftime(date, "%d", thaidigit=True), "๐๖") # Thai digit self.assertEqual(thai_strftime(date, "%%"), "%") # % escape self.assertEqual(thai_strftime(date, "%"), "%") # one % self.assertEqual(thai_strftime(date, "%-"), "-") # lone dash self.assertEqual(thai_strftime(date, "%c"), "พ 6 ต.ค. 01:40:00 2519") self.assertEqual(thai_strftime(date, "%0c"), "พ 6 ต.ค. 01:40:00 2519") self.assertEqual(thai_strftime(date, "%c", True), "พ ๖ ต.ค. ๐๑:๔๐:๐๐ ๒๕๑๙") self.assertEqual( thai_strftime( date, "%Aที่ %d %B พ.ศ. %Y เวลา %H:%Mน. (%a %d-%b-%y) %% %"), "วันพุธที่ 06 ตุลาคม พ.ศ. 2519 เวลา 01:40น. (พ 06-ต.ค.-19) % %", ) self.assertEqual(thai_strftime(date, "%Q"), "Q") # not support self.assertIsNotNone( thai_strftime(date, "%A%a%B%b%C%c%D%F%G%g%v%X%x%Y%y%+%%")) self.assertEqual( thai_strftime(date, "%p").upper(), thai_strftime(date, "%^p")) # '^' extension for upper case self.assertEqual( thai_strftime(date, "%Z").swapcase(), thai_strftime(date, "%#Z")) # '#' extension for swap case date = datetime(1, 2, 3) self.assertEqual(thai_strftime(date, "%Y"), "0544") self.assertEqual(thai_strftime(date, "%y"), "44") self.assertEqual(len(thai_strftime(date, "%G")), 4) self.assertEqual(len(thai_strftime(date, "%g")), 2)
def find_day(date): return thai_strftime(date, "%A")
def gettaxdate_thaiformat(self, row): dt = self.gettaxdate(row) if dt: return thai_strftime(dt, "%d %b %Y") else: return None