Hi Reginald,
you should use Year(todate(now()) without the underscore in to_date...but don't ask me why...

best
stefan

---
Mit freundlichen Grüßen
Stefan Giese
Projektleiter/Consultant
****************************************************
Das WhereGroup-Team wünscht Ihnen ein frohes
Weihnachtsfest und ein glückliches Jahr 2018!

Die Termine der FOSS Academy für 2018 sind online!
Alle Infos unter www.foss-academy.com
****************************************************

WhereGroup GmbH & Co. KG
Schwimmbadstr. 2
79100 Freiburg
Germany

Fon: +49 (0)761 / 519 102 - 61
Fax: +49 (0)761 / 519 102 - 11

[email protected]
www.wheregroup.com
Amtsgericht Bonn, HRA 6788
-------------------------------
Komplementärin:
WhereGroup Verwaltungs GmbH
vertreten durch:
Olaf Knopp, Peter Stamm
-------------------------------

Am 2017-12-19 09:14, schrieb Reginald Carlier:
Thanks Stefan,

I finally got the age by using this code:

(2017 - year(to_date("GDate")))

Year(to_date(now()) seems to fail as there are missing brackets but I
can't figure out where.

Regards,

                Reginald Carlier

                Deskundige GIS

                 [1]

                Gemeente Ingelmunster
                ,
                Oostrozebekestraat 4
                ,
                8770

                Ingelmunster

                T
                +32 51 33 74 39 [2]

                WWW.INGELMUNSTER.BE [1]

                 [3]
                 [4]
                 [5]
                 [6]

                RAADPLEEG ONZE DISCLAIMER  [7]

 -----Oorspronkelijk bericht-----
Van: Stefan Giese (WhereGroup) [mailto:[email protected]]
Verzonden: dinsdag 19 december 2017 8:58
Aan: Reginald Carlier
CC: [email protected]
Onderwerp: Re: [Qgis-user] Calculate age in years with
expressionbuilder

I forgot: and as a workaround you can use:
year(todate(now()) - year(todate("GDate")) which will produce correct
ages, or you can use your own python function (expression
builder->functions->new file):

from qgis.core import *
from qgis.gui import *

from datetime import datetime
from dateutil.relativedelta import relativedelta

@qgsfunction(args=2, group='Python')
def GetAge(values,feature,parent):
'''
call this function GetAge("fromdate","todate")
in years
'''
d1 =datetime.strptime(values[0],"%Y-%m-%d")
d2 =datetime.strptime(values[1],"%Y-%m-%d")
difference = relativedelta(d2, d1)
return difference

Am 2017-12-19 07:48, schrieb Stefan Giese (WhereGroup):
it seems, that this is a bug, see:
https://issues.qgis.org/issues/17681

best regards
Stefan


Am 2017-12-18 15:26, schrieb Reginald:
hello,

I am calculating the age of persons with the expression builder.
My formulae looks like this:
year(age( to_date(now()) , "GDate" )) The result looks alright for
people who are younger than 68 years.
People who are born in 1949 or before get negative ages and the age

goes from -68 to -31 (for someone born in 1913) What is wrong with
my
formulae?

Regards,






--
Sent from:
http://osgeo-org.1560.x6.nabble.com/QGIS-User-f4125267.html
_______________________________________________
Qgis-user mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
_______________________________________________
Qgis-user mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user


Links:
------
[1] http://www.ingelmunster.be/
[2] tel:+32%2051%2033%2074%2039
[3] https://www.facebook.com/Ingelmunster/
[4] https://www.instagram.com/ingelmunster/
[5] https://www.pinterest.com/ingelmunster/
[6] https://twitter.com/ingelmunster
[7] http://www.ingelmunster.be/email-disclaimer.html
_______________________________________________
Qgis-user mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

Reply via email to