[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Calling mutator java method (date fields to seconds-s

Subject: Calling mutator java method (date fields to seconds-since-epoch with java.util.GregorianCalendar)
From: "Tim Lebo" <timleboxslt@xxxxxxxxx>
Date: Mon, 21 Aug 2006 21:34:56 -0400
java mutator
Hello,

I need to determine the number of seconds past the epoch given the
year, month, day, hour, and minute fields (as strings).

This can be done with the java.util.GregorianCalendar class using the
set(year,month,day,hour,minute) mutator and calling the
getTimeInMillis() accessor. I have been able to demonstrate this in a
sample main class that uses GregorianCalendar:

			// For year,month,day,hour,min -> seconds since epoch
			import java.util.Calendar;
			import java.util.GregorianCalendar;

public class MyDate {

			public static void main(String args[]) {
				Calendar myCal = new GregorianCalendar();
				myCal.set(2006,7,21,13,26,0); //1156181207
				System.out.println(myCal.getTimeInMillis()/1000 - 1156181207);
			}

}


The following xslt shows how I instantiate a GregorianCalendar. Two outputs are obtained: 1) A failed attempt to get the seconds-since-the-epoch after the set method call 2) The objects toString, which shows that the date information is actually the time of execution and not the date set

This leads me to believe that the mutator call did not 'take effect'.
Looking to previous java-interaction solutions that I have created, I
notice that this is the first time I am calling an object's mutator
method, which returns void. Does this need to be handled differently?

Regards,
Tim



<xsl:transform version="2.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

xmlns:xfm="transform namespace"

xmlns:xs="http://www.w3.org/2001/XMLSchema"

							 xmlns:cal="java:java.util.GregorianCalendar"
exclude-result-prefixes="xfm xs">

<xsl:output method="text"/>



<xsl:template match="/">

<xsl:variable name="start" select="cal:new()"/>

<xsl:variable name="start-set" select="cal:set($start,xs:integer('2006'),

xs:integer('7'),xs:integer('21'),

																												
xs:integer('13'),xs:integer('26'),xs:integer('0'))"/>

	<xsl:value-of select="concat('expecting seconds-since-epoch of 2006
21 Aug at 13:26:00, but getting current seconds-since-epoch: ',$NL,

	                             xs:integer(cal:getTimeInMillis($start))
div xs:integer('1000'),$NL,$NL)"/>

	<xsl:value-of select="concat('toString indicates that the call to set
the date was not recognized (See DAY_OF_MONTH,HOUR_OF_DAY...):',$NL,

cal:toString($start),$NL)"/>

</xsl:template>



<xsl:variable name="NL">

<xsl:text>

</xsl:text>

</xsl:variable>



</xsl:transform>

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.