<?xml version="1.0" encoding="utf-8"?>
<!--

    This file is

    Copyright 2007,2008,2009,2010 Rustici Software, LLC
    Copyright 2010,2011 Kevin Glynn (kevin.glynn.com)

-->
<Class xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:www.twigletsoftware.com:schemas:txtemplate:1:0">
  <Imports>
    <Import>java.util.Date</Import>
  </Imports>
  <Java>Date</Java>
  <Name>System.DateTime</Name>
  <Uses />
  <Inherits>
    <Type>System.Object</Type>
  </Inherits>
  <Methods>
    <Method>
      <Imports>
        <Import>CS2JNet.System.DateTimeSupport</Import>
      </Imports>
      <Java>DateTimeSupport.parse(${s})</Java>
      <Params>
        <Param>
          <Type>System.String</Type>
          <Name>s</Name>
        </Param>
      </Params>
      <Name>Parse</Name>
      <Return>System.DateTime</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.DateTimeSupport</Import>
      </Imports>
      <Java>DateTimeSupport.parse(${s}, ${provider})</Java>
      <Params>
        <Param>
          <Type>System.String</Type>
          <Name>s</Name>
        </Param>
        <Param>
          <Type>System.IFormatProvider</Type>
          <Name>provider</Name>
        </Param>
      </Params>
      <Name>Parse</Name>
      <Return>System.DateTime</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.*</Import>
      </Imports>
      <Java>DateTimeSupport.ToString(${this}, ${format})</Java>
      <Params>
        <Param>
          <Type>System.String</Type>
          <Name>format</Name>
        </Param>
      </Params>
      <Name>ToString</Name>
      <Return>System.String</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.DateTimeSupport</Import>
      </Imports>
      <Java>DateTimeSupport.ToString(${this}, ${format}, ${provider})</Java>
      <Params>
        <Param>
          <Type>System.String</Type>
          <Name>format</Name>
        </Param>
        <Param>
          <Type>System.IFormatProvider</Type>
          <Name>provider</Name>
        </Param>
      </Params>
      <Name>ToString</Name>
      <Return>System.String</Return>
    </Method>
    <Method>
      <Imports>
        <Import>java.text.SimpleDateFormat</Import>
      </Imports>
      <Java>(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss a")).format(${this})</Java>
      <Params />
      <Name>ToString</Name>
      <Return>System.String</Return>
    </Method>
    <Method>
      <Imports>
        <Import>java.text.SimpleDateFormat</Import>
      </Imports>
      <Java>(new SimpleDateFormat("MM/dd/yy")).format(${this})</Java>
      <Params />
      <Name>ToShortDateString</Name>
      <Return>System.String</Return>
    </Method>
    <Method>
      <Imports />
      <Java>${t1}.compareTo(${t2})</Java>
      <Params>
        <Param>
          <Type>System.DateTime</Type>
          <Name>t1</Name>
        </Param>
        <Param>
          <Type>System.DateTime</Type>
          <Name>t2</Name>
        </Param>
      </Params>
      <Name>Compare</Name>
      <Return>System.Int32</Return>
    </Method>
    <Method>
      <Imports />
      <Java>${this:16}.compareTo(${value})</Java>
      <Params>
        <Param>
          <Type>System.DateTime</Type>
          <Name>value</Name>
        </Param>
      </Params>
      <Name>CompareTo</Name>
      <Return>System.Int32</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.DateTZ</Import>
        <Import>java.util.TimeZone</Import>
      </Imports>
      <Java>(new DateTZ(${this:16}.getTime(), TimeZone.getTimeZone("UTC")))</Java>
      <Params />
      <Name>ToUniversalTime</Name>
      <Return>System.DateTime</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.DateTimeSupport</Import>
        <Import>java.util.Calendar</Import>
      </Imports>
      <Java>DateTimeSupport.add(${this},Calendar.MINUTE,${amount})</Java>
      <Params>
        <Param>
          <Type>System.Int32</Type>
          <Name>amount</Name>
        </Param>
      </Params>
      <Name>AddMinutes</Name>
      <Return>System.DateTime</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.DateTimeSupport</Import>
        <Import>java.util.Calendar</Import>
      </Imports>
      <Java>DateTimeSupport.add(${this},Calendar.HOUR,${amount})</Java>
      <Params>
        <Param>
          <Type>System.Int32</Type>
          <Name>amount</Name>
        </Param>
      </Params>
      <Name>AddHours</Name>
      <Return>System.DateTime</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.DateTimeSupport</Import>
        <Import>java.util.Calendar</Import>
      </Imports>
      <Java>DateTimeSupport.add(${this},Calendar.MILLISECOND,${amount})</Java>
      <Params>
        <Param>
          <Type>System.Int32</Type>
          <Name>amount</Name>
        </Param>
      </Params>
      <Name>AddMilliseconds</Name>
      <Return>System.DateTime</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.DateTimeSupport</Import>
        <Import>java.util.Calendar</Import>
      </Imports>
      <Java>DateTimeSupport.add(${this},Calendar.SECOND,${amount})</Java>
      <Params>
        <Param>
          <Type>System.Int32</Type>
          <Name>amount</Name>
        </Param>
      </Params>
      <Name>AddSeconds</Name>
      <Return>System.DateTime</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.DateTimeSupport</Import>
        <Import>java.util.Calendar</Import>
      </Imports>
      <Java>DateTimeSupport.add(${this},Calendar.DAY_OF_YEAR,${amount})</Java>
      <Params>
        <Param>
          <Type>System.Int32</Type>
          <Name>amount</Name>
        </Param>
      </Params>
      <Name>AddDays</Name>
      <Return>System.DateTime</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.DateTimeSupport</Import>
        <Import>java.util.Calendar</Import>
      </Imports>
      <Java>DateTimeSupport.add(${this},Calendar.MONTH,${amount})</Java>
      <Params>
        <Param>
          <Type>System.Int32</Type>
          <Name>amount</Name>
        </Param>
      </Params>
      <Name>AddMonths</Name>
      <Return>System.DateTime</Return>
    </Method>
    <Method>
      <Imports>
        <Import>CS2JNet.System.DateTimeSupport</Import>
      </Imports>
      <Java>(new TimeSpan(Math.abs(${this:16}.getTime() - ${date2}.getTime())))</Java>
      <Params>
        <Param>
          <Type>System.DateTime</Type>
          <Name>date2</Name>
        </Param>
      </Params>
      <Name>Subtract</Name>
      <Return>System.TimeSpan</Return>
    </Method>
  </Methods>
  <Properties>
    <Property>
      <Imports>
        <Import>java.util.Calendar</Import>
      </Imports>
      <Java>Calendar.getInstance().getTime()</Java>
      <Type>System.DateTime</Type>
      <Name>Now</Name>
      <Get>Calendar.getInstance().getTime()</Get>
      <Set>${this:16}.setNow(${value})</Set>
    </Property>
    <Property>
      <Imports>
        <Import>java.util.Date</Import>
      </Imports>
      <Java>new Date()</Java>
      <Type>System.DateTime</Type>
      <Name>Today</Name>
      <Get>new Date()</Get>
      <Set>${this:16}.setToday(${value})</Set>
    </Property>
  </Properties>
  <Events />
  <Indexers />
  <Constructors>
    <Constructor>
      <Imports>
        <Import>java.util.GregorianCalendar</Import>
      </Imports>
      <Java>new GregorianCalendar(${year}, ${month}-1, ${day}).getTime()</Java>
      <Params>
        <Param>
          <Type>System.Int32</Type>
          <Name>year</Name>
        </Param>
        <Param>
          <Type>System.Int32</Type>
          <Name>month</Name>
        </Param>
        <Param>
          <Type>System.Int32</Type>
          <Name>day</Name>
        </Param>
      </Params>
    </Constructor>
  </Constructors>
  <Fields />
  <Casts />
  <UnaryOps />
  <BinaryOps />
</Class>