Dates (was: Long arithmetic...?)

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Dates (was: Long arithmetic...?)

THOMAS, BRIAN M (ATTSI)
It troubles me that no one has had an answer to this so far.

I tried asking roughly the same question of the velocity-users list and
was told that a new version of Velocity now does arithmetic with
non-integer numbers, but two things make that problematic:  first, I
have limited access to the server to install software; second, I can't
believe that no one in all of XWiki's lifetime has ever tried to do any
date calculations, such as the difference of two dates, or
adding/subtracting intervals.

Isn't there an easier way to do this?  All I want to do is decide
whether something's a week old.

brain[sic]

-----Original Message-----
From: THOMAS, BRIAN M (SBCSI)
Sent: Friday, March 03, 2006 5:18 PM
To: [hidden email]
Subject: [xwiki-users] Long arithmetic...?


It seems that a Velocity #set directive fails when the RHS involves any
arithmetic operation with long integers.

Specifically, I just wanted to determine the difference between two
dates, thus:

#set ($age = $xwiki.currentDate.time -
$obj.xWikiObject.getDateValue("donedate").time)

I confirmed that I got credible results from both of the operands by
printing them, and I could assign either of them to another variable
name, but setting $age to the result of any arithmetic operation with
any of them always gave "$age" as the formatted result.

This shouldn't be this hard, should it?

brain[sic]




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Dates (was: Long arithmetic...?)

Mark Robinson-6
Hi Brian.

I am not sure about with Velocity but you should be able to do this easily with a Groovy script.

It basically is Java without the braces and type declarations so it is very powerful.  Apologies if I have it wrong below but I have only started playing with it a few days ago.

Try something like this below in your page.

<%
def today = new Date()
println today  
if(testitem < (today - 7)
{
println "This is more than a week old"
}
else
{
println "This is less than a week old"  
}
%>

If someone who knows Groovy well can correct that for you it might be a solution.

Hope it helps.

Cheers,


Mark


On 11 Mar 2006, at 1:19 AM, THOMAS, BRIAN M ((SBCSI)) wrote:

It troubles me that no one has had an answer to this so far.

I tried asking roughly the same question of the velocity-users list and
was told that a new version of Velocity now does arithmetic with
non-integer numbers, but two things make that problematic:  first, I
have limited access to the server to install software; second, I can't
believe that no one in all of XWiki's lifetime has ever tried to do any
date calculations, such as the difference of two dates, or
adding/subtracting intervals.

Isn't there an easier way to do this?  All I want to do is decide
whether something's a week old.

brain[sic] 

-----Original Message-----
From: THOMAS, BRIAN M (SBCSI) 
Sent: Friday, March 03, 2006 5:18 PM
Subject: [xwiki-users] Long arithmetic...?


It seems that a Velocity #set directive fails when the RHS involves any
arithmetic operation with long integers.

Specifically, I just wanted to determine the difference between two
dates, thus:

#set ($age = $xwiki.currentDate.time -
$obj.xWikiObject.getDateValue("donedate").time)

I confirmed that I got credible results from both of the operands by
printing them, and I could assign either of them to another variable
name, but setting $age to the result of any arithmetic operation with
any of them always gave "$age" as the formatted result.

This shouldn't be this hard, should it?

brain[sic] 



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: [hidden email]
For general help: [hidden email]
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Dates (was: Long arithmetic...?)

Mark Robinson-6
In reply to this post by THOMAS, BRIAN M (ATTSI)
Typical.  I missed a brace off the if statement.

Sorry if you just cut and pasted the wrong answer.

Cheers,

Mark.

CORRECTION BELOW



Hi Brian.

I am not sure about with Velocity but you should be able to do this easily with a Groovy script.

It basically is Java without the braces and type declarations so it is very powerful.  Apologies if I have it wrong below but I have only started playing with it a few days ago.

Try something like this below in your page.

<%
def today = new Date()
println today  
if(testitem < (today - 7))
{
println "This is more than a week old"
}
else
{
println "This is less than a week old"  
}
%>

If someone who knows Groovy well can correct that for you it might be a solution.

Hope it helps.

Cheers,


Mark

On 11 Mar 2006, at 1:19 AM, THOMAS, BRIAN M ((SBCSI)) wrote:

It troubles me that no one has had an answer to this so far.

I tried asking roughly the same question of the velocity-users list and
was told that a new version of Velocity now does arithmetic with
non-integer numbers, but two things make that problematic:  first, I
have limited access to the server to install software; second, I can't
believe that no one in all of XWiki's lifetime has ever tried to do any
date calculations, such as the difference of two dates, or
adding/subtracting intervals.

Isn't there an easier way to do this?  All I want to do is decide
whether something's a week old.

brain[sic] 

-----Original Message-----
From: THOMAS, BRIAN M (SBCSI) 
Sent: Friday, March 03, 2006 5:18 PM
Subject: [xwiki-users] Long arithmetic...?


It seems that a Velocity #set directive fails when the RHS involves any
arithmetic operation with long integers.

Specifically, I just wanted to determine the difference between two
dates, thus:

#set ($age = $xwiki.currentDate.time -
$obj.xWikiObject.getDateValue("donedate").time)

I confirmed that I got credible results from both of the operands by
printing them, and I could assign either of them to another variable
name, but setting $age to the result of any arithmetic operation with
any of them always gave "$age" as the formatted result.

This shouldn't be this hard, should it?

brain[sic] 



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: [hidden email]
For general help: [hidden email]
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

RE: Dates (was: Long arithmetic...?)

THOMAS, BRIAN M (ATTSI)
In reply to this post by THOMAS, BRIAN M (ATTSI)
Message
Thanks.  I'm still baffled, and this is another solution that requires programmer access to the wiki, but at this point, some solution is better than no solution.  I've even considered throwing in some JavaScript code to do it.
 
It has been suggested by a co-worker that the  java.util.Calendar class has the date arithmetic needed, but I don't know how to instantiate a class that isn't part of, or returned from a method on, an XWiki object, and I don't see any that do that.
 
 

brain[sic]

-----Original Message-----
From: Mark Robinson [mailto:[hidden email]]
Sent: Friday, March 10, 2006 7:01 PM
To: [hidden email]
Subject: Re: [xwiki-users] Dates (was: Long arithmetic...?)

Typical.  I missed a brace off the if statement.

Sorry if you just cut and pasted the wrong answer.

Cheers,

Mark.

CORRECTION BELOW



Hi Brian.

I am not sure about with Velocity but you should be able to do this easily with a Groovy script.

It basically is Java without the braces and type declarations so it is very powerful.  Apologies if I have it wrong below but I have only started playing with it a few days ago.

Try something like this below in your page.

<%
def today = new Date()
println today  
if(testitem < (today - 7))
{
println "This is more than a week old"
}
else
{
println "This is less than a week old"  
}
%>

If someone who knows Groovy well can correct that for you it might be a solution.

Hope it helps.

Cheers,


Mark

On 11 Mar 2006, at 1:19 AM, THOMAS, BRIAN M ((SBCSI)) wrote:

It troubles me that no one has had an answer to this so far.

I tried asking roughly the same question of the velocity-users list and
was told that a new version of Velocity now does arithmetic with
non-integer numbers, but two things make that problematic:  first, I
have limited access to the server to install software; second, I can't
believe that no one in all of XWiki's lifetime has ever tried to do any
date calculations, such as the difference of two dates, or
adding/subtracting intervals.

Isn't there an easier way to do this?  All I want to do is decide
whether something's a week old.

brain[sic] 

-----Original Message-----
From: THOMAS, BRIAN M (SBCSI) 
Sent: Friday, March 03, 2006 5:18 PM
Subject: [xwiki-users] Long arithmetic...?


It seems that a Velocity #set directive fails when the RHS involves any
arithmetic operation with long integers.

Specifically, I just wanted to determine the difference between two
dates, thus:

#set ($age = $xwiki.currentDate.time -
$obj.xWikiObject.getDateValue("donedate").time)

I confirmed that I got credible results from both of the operands by
printing them, and I could assign either of them to another variable
name, but setting $age to the result of any arithmetic operation with
any of them always gave "$age" as the formatted result.

This shouldn't be this hard, should it?

brain[sic] 



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: [hidden email]
For general help: [hidden email]
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws