This question has been flagged
4 Replies
13545 Views

I am creating the function field to return date and time and i need to display only year in the field how to achieve this ?

Avatar
Discard

Instead of this you can use account.fiscalyear.

Author

i need to fetch current year and increment the year by 1 and need to dispaly both current and incremented year in selection field

Best Answer

You can extract Year from your datetime string like:

year = time.strftime('%Y',time.strptime(datetime, "%Y"))

And return it in other functional field as string.

Avatar
Discard
Author

how to make this as selection field

For the selection field check your functional field type="selection" and define their range of year.

Best Answer


Hello,

if you want a return  financial year like 2022-2023.


from datetime import date
year_of_completion = fields.Selection(selection='years_selection', string="Indian Finacial Year")

defyears_selection(self):
year_list = []
for y in range(datetime.now().year-100, datetime.now().year + 10):
year_str = str(y-1)+'-'+str(y)
year_list.append((year_str, year_str))
return year_list
Avatar
Discard
Best Answer
year_of_completion = fields.Selection(
selection='years_selection',
string="Estimated Year of Completion",
default="2021" # as a default value it would be 2019)
def years_selection(self):
year_list = []
for y in range(datetime.now().year, datetime.now().year + 10):
year_list.append((str(y), str(y)))
return year_list

I have already defined these two. But when I pushed these on live server, it doesnot work. Any help?



Avatar
Discard
Best Answer

Hello,

If You want to return only year from your datetime field then do like this:

import datetime

from tools import DEFAULT_SERVER_DATETIME_FORMAT

year = datetime.datetime.strptime(your_date, DEFAULT_SERVER_DATETIME_FORMAT).strftime("%Y")

Thank You, Serpent Consulting Services Pvt. Ltd.

Avatar
Discard