From e744fdff1cd6d4ce7a9153a97fecda18f18118b3 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Sat, 12 Jun 2010 15:51:40 +0000 Subject: [PATCH] Add getter function for mapping a {year,month,day} symbol to the conversion function of a date to a fractional number. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@19252 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/app-utils/app-utils.scm | 1 + src/app-utils/date-utilities.scm | 11 +++++++++++ 2 files changed, 12 insertions(+) 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)))