i want my date field in hijri format can you plz help me. How to convert english to hijri?
Odoo is the world's easiest all-in-one management software.
 It includes hundreds of business apps:
- CRM
- e-Commerce
- Бухгалтерия
- Склад
- PoS
- Project
- MRP
Этот вопрос был отмечен
Convert English date to Hijri date
Code to convert English date to Hijri date:
def intPart(floatNum):
      if floatNum < -0.0000001: return math.ceil(floatNum - 0.0000001)
      return math.floor(floatNum + 0.0000001)
def Hijri2Gregorian(yr,mth,day):
    jd1 = (11 * int(yr) + 3) / 30.0
    jd2 = (int(mth) - 1) / 2.0
    jd = jd1 + 354 * int(yr) + 30 * int(mth) - jd2 + int(day) + 1948440 - 385
    if jd > 2299160:
       l = jd + 68569
       n = intPart((4 * l) / 146097.0)
       l = l - intPart((146097 * n + 3) / 4.0)
       i = intPart((4000 * (l + 1)) / 1461001.0)
       l = l - intPart((1461 * i) / 4.0) + 31
       j = intPart((80 * l) / 2447.0)
       d = l - intPart((2447 * j) / 80.0)
       l = intPart(j / 11.0)
       m = j + 2 - 12 * l
       y = 100 * (n - 49) + i + l
    else:
       j = jd + 1402
       k = intPart((j - 1) / 1461.0)
       l = j - 1461 * k
       n = intPart((l - 1) / 365.0) - intPart(l / 1461.0)
       i = l - 365 * n + 30
       j = intPart((80 * i) / 2447.0)
       d = i - intPart((2447 * j) / 80.0)
       i = intPart(j / 11.0)
       m = j + 2 - 12 * i
       y = 4 * k + n + i - 4716
       
    if(m<10): 
       m = str("0") + str(int(m))
    else: 
       m = str(int(m))
    if(d<10): 
       d = str("0") + str(int(d))
    else: 
       d = str(int(d))
    english_date = m + str("/") + d + str("/") +str(int(y))    
    return english_date
class hr_employee(osv.osv):
    _inherit = "hr.employee"
'islamic_date_passport' : fields.char('Islamic Date(Passport Expiry)'),
'passport_expire':fields.char('Passport Expiry',readonly=True),
def get_hijri_passport(self, cr, uid, ids, islamic_date_passport, context=None):
        res = {}    
        datetype = islamic_date_passport
        list = datetype.split('-')
        day = str(list[0])
        mth = str(list[1])
        yr = str(list[2])  
        eng = Hijri2Gregorian(yr,mth,day)   
        return {'value':{'passport_expire':eng}}
hr_employee()
Remya , is it ok working this code ?.....
We've https://www.odoo.com/apps/modules/11.0/web_hijri_date/ now, in v9 v10 too.
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Регистрация| Related Posts | Ответы | Просмотры | Активность | |
|---|---|---|---|---|
|  | 3 июн. 25  | 2040 | ||
|  | 1 янв. 25  | 18656 | ||
|  | 1 янв. 20  | 4568 | ||
|  | 1 дек. 19  | 7062 | ||
|  | 1 дек. 19  | 17885 | 
