migration: establish exact preserved app baseline
This commit is contained in:
Vendored
+54
@@ -0,0 +1,54 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import SolarMonth
|
||||
|
||||
|
||||
class SolarYear:
|
||||
"""
|
||||
阳历年
|
||||
"""
|
||||
|
||||
MONTH_COUNT = 12
|
||||
|
||||
def __init__(self, year):
|
||||
self.__year = year
|
||||
|
||||
@staticmethod
|
||||
def fromDate(date):
|
||||
return SolarYear(date.year)
|
||||
|
||||
@staticmethod
|
||||
def fromYear(year):
|
||||
return SolarYear(year)
|
||||
|
||||
def getYear(self):
|
||||
return self.__year
|
||||
|
||||
def toString(self):
|
||||
return str(self.__year)
|
||||
|
||||
def toFullString(self):
|
||||
return "%d年" % self.__year
|
||||
|
||||
def __str__(self):
|
||||
return self.toString()
|
||||
|
||||
def getMonths(self):
|
||||
"""
|
||||
获取本年的阳历月列表
|
||||
:return: 阳历月列表
|
||||
"""
|
||||
months = []
|
||||
m = SolarMonth.fromYm(self.__year, 1)
|
||||
months.append(m)
|
||||
for i in range(1, SolarYear.MONTH_COUNT):
|
||||
months.append(m.next(i))
|
||||
return months
|
||||
|
||||
def next(self, years):
|
||||
"""
|
||||
获取往后推几年的阳历年,如果要往前推,则月数用负数
|
||||
:param years: 年数
|
||||
:return: 阳历年
|
||||
"""
|
||||
return SolarYear.fromYear(self.__year + years)
|
||||
Reference in New Issue
Block a user