diff --git a/src/app-utils/app-utils.scm b/src/app-utils/app-utils.scm index 5a2f924a1d..2c689375f2 100644 --- a/src/app-utils/app-utils.scm +++ b/src/app-utils/app-utils.scm @@ -178,6 +178,7 @@ (export gnc:date-to-week-fraction) (export gnc:date-to-week) (export gnc:date-to-day-fraction) +(export gnc:date-get-fraction-func) (export moddatek) (export decdate) (export incdate) diff --git a/src/app-utils/date-utilities.scm b/src/app-utils/date-utilities.scm index 42b3641848..5d9ced9e5c 100644 --- a/src/app-utils/date-utilities.scm +++ b/src/app-utils/date-utilities.scm @@ -185,6 +185,17 @@ (define (gnc:date-to-day-fraction caltime) (- (/ (/ caltime 3600.0) 24) 59)) +;; Returns the function that converts a date into a fraction of +;; {year,month,week,day} according to the given symbol, or #f if the +;; symbol was unknown +(define (gnc:date-get-fraction-func interval) + (case interval + ('YearDelta gnc:date-to-year-fraction) + ('MonthDelta gnc:date-to-month-fraction) + ('WeekDelta gnc:date-to-week-fraction) + ('DayDelta gnc:date-to-day-fraction) + (else #f))) + ;; Modify a date (define (moddate op adate delta) (let ((newtm (gnc:timepair->date adate)))