<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>neverback的博客</title>
<link>http://blogger.org.cn/blog/blog.asp?name=neverback</link>
<description>neverback的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[不吐不快:Hibernate中的org.hibernate.ObjectDeletedException（deleted object would be re-saved by cascade (remove deleted object from associations)）]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=neverback&amp;id=49938</link>
<author>neverback</author>
<pubDate>2010/9/30 11:58:56</pubDate>
<description><![CDATA[
<P>刚接触Hibernate没有多久，限于了解会用...</P>
<P>说下我遇到的情况，有存在关联关系的主从对象，主对象中存在子对象的Set,</P>
<P>主对象中子对象Set注解:</P>
<P>@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy="main",targetEntity= child.class)<BR>&nbsp;&nbsp;&nbsp; @BatchSize(size=5)<BR>&nbsp;&nbsp;&nbsp; @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)</P>
<P>同理，子对象中注解：</P>
<P>@ManyToOne(cascade=CascadeType.PERSIST,fetch=FetchType.LAZY)<BR>&nbsp;@JoinColumn(name="m_id") </P>
<P>可以看出来我开启了</P>
<P>&nbsp;cascade=CascadeType.ALL</P>
<P>关于cascade注解：</P>
<P>all：所有情况下均进行关联操作</P>
<P>none:与上面相反</P>
<P>save-update:save/update/saveOrUpdate时候进行关联操作</P>
<P>delete:同上，执行delete时候。</P>
<P><FONT color=#303030 size=3 face=Verdana>我的错误出现在试图单独删除Set中某一个子数据时候，hibernate报错为</FONT></P>
<P><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: left; LINE-HEIGHT: 18px; FONT-FAMILY: Arial, sans-serif, Helvetica, Tahoma; FONT-SIZE: 12px" class=Apple-style-span>org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations)</SPAN></SPAN></P>
<P><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: left; LINE-HEIGHT: 18px; FONT-FAMILY: Arial, sans-serif, Helvetica, Tahoma; FONT-SIZE: 12px" class=Apple-style-span>作为初学者，google之，前三页都是类似的这个解决办法：</SPAN></SPAN></P>
<P><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: left; LINE-HEIGHT: 18px; FONT-FAMILY: Arial, sans-serif, Helvetica, Tahoma; FONT-SIZE: 12px" class=Apple-style-span><A href="http://yelr-j.javaeye.com/blog/419609"><FONT face=宋体>http://yelr-j.javaeye.com/blog/419609</FONT></A></SPAN></SPAN></P>
<P><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: left; LINE-HEIGHT: 18px; FONT-FAMILY: Arial, sans-serif, Helvetica, Tahoma; FONT-SIZE: 12px" class=Apple-style-span></SPAN></SPAN><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: left; LINE-HEIGHT: 18px; FONT-FAMILY: Arial, sans-serif, Helvetica, Tahoma; FONT-SIZE: 12px" class=Apple-style-span><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: justify; LINE-HEIGHT: 19px; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; FONT-SIZE: 13px" class=Apple-style-span>没有尝试，总觉得有问题，首先去掉cascade关系，就无法进行级联操作。还有解决级联关系，即set主对象为null觉得更不可取。</SPAN></SPAN></SPAN></SPAN></P>
<P><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: left; LINE-HEIGHT: 18px; FONT-FAMILY: Arial, sans-serif, Helvetica, Tahoma; FONT-SIZE: 12px" class=Apple-style-span><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: justify; LINE-HEIGHT: 19px; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; FONT-SIZE: 13px" class=Apple-style-span>事实上查看了一下文档，发现首先需要对子对象中的主对象里面的关联关系进行一下调整即可，类似</SPAN></SPAN></SPAN></SPAN></P>
<P><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: left; LINE-HEIGHT: 18px; FONT-FAMILY: Arial, sans-serif, Helvetica, Tahoma; FONT-SIZE: 12px" class=Apple-style-span><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: justify; LINE-HEIGHT: 19px; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; FONT-SIZE: 13px" class=Apple-style-span>child.getParent().getChildSet().remove(child);</SPAN></SPAN></SPAN></SPAN></P>
<P><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: left; LINE-HEIGHT: 18px; FONT-FAMILY: Arial, sans-serif, Helvetica, Tahoma; FONT-SIZE: 12px" class=Apple-style-span><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: justify; LINE-HEIGHT: 19px; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; FONT-SIZE: 13px" class=Apple-style-span>将子对象中关联的主对象里面记录的子对象的集合中去掉要删除的子对象（是不是有点绕口）...这样单独进行删除子对象操作时候就不会发生上面错误了.</SPAN></SPAN></SPAN></SPAN></P>
<P><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: left; LINE-HEIGHT: 18px; FONT-FAMILY: Arial, sans-serif, Helvetica, Tahoma; FONT-SIZE: 12px" class=Apple-style-span><SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="TEXT-ALIGN: justify; LINE-HEIGHT: 19px; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; FONT-SIZE: 13px" class=Apple-style-span>不知道这算不算是解决了问题。</SPAN></SPAN></SPAN></SPAN></P>]]></description>
</item><item>
<title><![CDATA[[java部分]IntelliJ中的TDD与单元测试]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=neverback&amp;id=49581</link>
<author>neverback</author>
<pubDate>2010/8/17 19:05:36</pubDate>
<description><![CDATA[
<P>所谓TDD（其实都知道...）:</P>
<P>测试驱动开发（Test-driven development）是现代计算机软件开发方法的一种。利用测试来驱动软件程序的设计和实现。测试驱动开始流行于20世纪90年代。测试驱动开发是极限编程中倡导的程序开发方法，方法主要是先写测试程序，然后再编码使其通过测试.</P>
<P>TDD测试工具</P>
<P>JUnit or mock</P>
<P>先说JUnit</P>
<P>首先，在IntelliJ中plugin启用如下三个插件</P>
<P><IMG style="BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000; BORDER-LEFT-COLOR: #000000" border=0 src="http://blogger.org.cn/blog/uploadfile/2010817183834941.JPG"></P>
<P>&nbsp;</P>
<P><BR><BR>&nbsp;</P>
<P>重启IntelliJ之后，在需要测试的类中Alt+Insert,选择“JUnit Test”，会自动生成测试类文件。例如 net.ysoft.serv.SimpleExample类，生成的测试类会位于test.net.ysoft.serv.SimpleExampleTest,此时即可很方便的进行单元测试。</P>
<P>拿前一篇中的DateUtil类来测试：生成代码：</P>
<P>import junit.framework.Test;<BR>import junit.framework.TestSuite;<BR>import junit.framework.TestCase;</P>
<P>/**<BR>&nbsp;* DateUtil Tester.<BR>&nbsp;*<BR>&nbsp;* @author &lt;Authors name&gt;<BR>&nbsp;* @since &lt;pre&gt;08/17/2010&lt;/pre&gt;<BR>&nbsp;* @version 1.0<BR>&nbsp;*/<BR>public class DateUtilTest extends TestCase {<BR>&nbsp;&nbsp;&nbsp; public DateUtilTest(String name) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super(name);<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; public void setUp() throws Exception {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super.setUp();<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; public void tearDown() throws Exception {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super.tearDown();<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; public void testGetNowYm() throws Exception {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //TODO: Test goes here...<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; public void testGetNowYear() throws Exception {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //TODO: Test goes here...<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>。。。省略</P>&nbsp;&nbsp;&nbsp; public static Test suite() {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new TestSuite(DateUtilTest.class);<BR>&nbsp;&nbsp;&nbsp; }
<P>&nbsp;</P>
<P>}</P>
<P>这里即可对类中方法进行测试，例如testGetYear() 我们预测获得结果2010，那么可以Assert.assertEquals(DateUtil.getYear(),2010);如果获得结果和预测不符，即会抛出异常.用起来很简单的说。</P>
<P>哦 该吃饭了~</P>
<P>未完待续。。。。</P>
<P>&nbsp;</P>
<P>&nbsp;</P>]]></description>
</item><item>
<title><![CDATA[[java部分]一个Date工具类]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=neverback&amp;id=49553</link>
<author>neverback</author>
<pubDate>2010/8/13 13:40:16</pubDate>
<description><![CDATA[<P>日期类。。工作中经常会用到的转日期，日期偏移...等</P>
<P>顺便发句牢骚，chrome居然不支持<SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><SPAN style="FONT-FAMILY: verdana, arial, helvetica, sans-serif; COLOR: rgb(32,32,32); FONT-SIZE: 12px" class=Apple-style-span>Rich text编辑器，折腾好久不知道怎么回事，发出来的东西就是不给我换行。。换成IE才OK.</SPAN></SPAN></P>
<P>================分割线==================</P>
<P>&nbsp;</P>
<P>import java.util.Calendar;<BR>import java.util.Date;<BR>import java.sql.Timestamp;<BR>import java.text.SimpleDateFormat;</P>
<P>public class DateUtil {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**<BR>&nbsp; * Format 格式 yyyy-MM-dd<BR>&nbsp; */<BR>&nbsp;public static final String YMD="yyyy-MM-dd";<BR>&nbsp;/**<BR>&nbsp; *&nbsp; Format 格式 yyyy-MM-dd HH:mm:ss<BR>&nbsp; */<BR>&nbsp;public static final String YMDHMS="yyyy-MM-dd HH:mm:ss";<BR>&nbsp;/**<BR>&nbsp; *&nbsp; Format 格式 yyyyMMdd-HHmm<BR>&nbsp; */<BR>&nbsp;public static final String YMD_HM="yyyyMMdd-HHmm";<BR>&nbsp;/**<BR>&nbsp; *&nbsp; Format 格式 dd/HHmm<BR>&nbsp; */<BR>&nbsp;public static final String DD_HHmm="dd/HHmm";<BR>&nbsp;/**<BR>&nbsp; *&nbsp; Format 格式 MMdd/HHmm<BR>&nbsp; */<BR>&nbsp;public static final String MMDD_HHmm="MMdd/HHmm";<BR>&nbsp;/**<BR>&nbsp; *&nbsp; Format 格式 yyyy-MM<BR>&nbsp; */<BR>&nbsp;public static final String YM="yyyy-MM";</P>
<P>&nbsp;public static final String YYYY="yyyy";<BR>&nbsp;/**<BR>&nbsp; * Format 格式 yyyyMM<BR>&nbsp; */<BR>&nbsp;public static final String YYYYMM="yyyyMM";</P>
<P>&nbsp;&nbsp;&nbsp; public static String getNowYm() {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return DateUtil.getDateValue (new Date(),DateUtil.YYYYMM);<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; public static String getNowYear(){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return DateUtil.getDateValue (new Date(),DateUtil.YYYY);<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; public static int getYear() {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Integer.parseInt (getNowYear());<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; /**<BR>&nbsp;&nbsp;&nbsp;&nbsp; * 两时间相减得到天数(yyyyMMdd) ,日期字符串2-日期字符串1<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param date1 日期字符串1<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param date2 日期字符串2<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @return 天数<BR>&nbsp;&nbsp;&nbsp;&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static long getDayTimes(String date1, String date2) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SimpleDateFormat yyyyMMdd = new SimpleDateFormat(DateUtil.YMD);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long d1 = yyyyMMdd.parse(date1).getTime();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long d2 = yyyyMMdd.parse(date2).getTime();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (d2 - d1) / (1000 * 60 * 60 * 24);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception ex) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(ex);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;/**<BR>&nbsp; * 日期字符串2-日期字符串1， 获得小时数(yyyyMMdd)<BR>&nbsp; * @param date2 日期字符串2<BR>&nbsp; * @return&nbsp; 小时数<BR>&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static long getHours(String date1, String date2) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SimpleDateFormat yyyyMMdd = new SimpleDateFormat(DateUtil.YMD);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long d1 = yyyyMMdd.parse(date1).getTime();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long d2 = yyyyMMdd.parse(date2).getTime();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (d2 - d1) / (1000 * 60 * 60);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception ex) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(ex);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;/**<BR>&nbsp;&nbsp;&nbsp;&nbsp; * 获取小时数(yyyyMMddhhmmss)<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param date1 日期字符串1<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param date2 日期字符串2<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @return&nbsp; 小时数<BR>&nbsp;&nbsp;&nbsp;&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static float getDayTimes0(String date1, String date2) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SimpleDateFormat yyyyMMddhhmmss = new SimpleDateFormat(DateUtil.YMDHMS);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long d1 = yyyyMMddhhmmss.parse(date1).getTime();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long d2 = yyyyMMddhhmmss.parse(date2).getTime();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ((float)(d2 - d1)) / (1000 * 60 *60);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception ex) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; /**<BR>&nbsp;&nbsp;&nbsp;&nbsp; * 设置一个时间根据偏移量得到新的时间<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param dateTime&nbsp; 日期<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param excursion 偏移量<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param format&nbsp; 日期格式 [yyyy-MM-dd|yyyy-MM-dd HH:mm:ss]<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @return&nbsp; 字符串<BR>&nbsp;&nbsp;&nbsp;&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static String getExcursionDateString(String dateTime,int excursion,String format){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return getDateValue(getExcursionDate(dateTime,excursion,format),format);<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; /**<BR>&nbsp;&nbsp;&nbsp;&nbsp; * 设置一个时间根据偏移量得到新的年月<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param dateTime 日期<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param excursion 偏移量<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @return 年月<BR>&nbsp;&nbsp;&nbsp;&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static String getExcursionYearMonthString(String dateTime,int excursion){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(dateTime.length ()&lt;10)dateTime=dateTime+"-01";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return getDateValue(getExcursionMonth(dateTime,excursion),DateUtil.YM);<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; /**<BR>&nbsp;&nbsp;&nbsp;&nbsp; * 设置一个时间根据偏移量得到新的时间<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param dateTime&nbsp; 日期<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param excursion 偏移量(天)<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @return Date对象<BR>&nbsp;&nbsp;&nbsp;&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static Date getExcursionDate(String dateTime,int excursion,String fmt){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Calendar cal = Calendar.getInstance();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(fmt.equals(DateUtil.DD_HHmm)){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.set(Integer.parseInt(dateTime.substring(0,4)), Integer.parseInt(dateTime.substring(5,7))-1, Integer.parseInt(dateTime.substring(8,10)),Integer.parseInt(dateTime.substring(11,13)),Integer.parseInt(dateTime.substring(14,16)));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else if (fmt.equals(DateUtil.YMDHMS)){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.set(Integer.parseInt(dateTime.substring(0,4)), Integer.parseInt(dateTime.substring(5,7))-1, Integer.parseInt(dateTime.substring(8,10)),Integer.parseInt(dateTime.substring(11,13)),Integer.parseInt(dateTime.substring(14,16)),Integer.parseInt(dateTime.substring(17,19)));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.set(Integer.parseInt(dateTime.substring(0,4)), Integer.parseInt(dateTime.substring(5,7))-1, Integer.parseInt(dateTime.substring(8,10)));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.add(Calendar.DATE,excursion);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return cal.getTime();<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; public static Date getExcuSecond(String dateTime,int second){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Calendar cal=Calendar.getInstance ();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.set(Integer.parseInt(dateTime.substring(0,4)), Integer.parseInt(dateTime.substring(5,7))-1, Integer.parseInt(dateTime.substring(8,10)),Integer.parseInt(dateTime.substring(11,13)),Integer.parseInt(dateTime.substring(14,16)),Integer.parseInt(dateTime.substring(17,19)));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.add (Calendar.SECOND,second);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return cal.getTime ();<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**<BR>&nbsp; * 设置一个时间根据偏移量得到新的时间<BR>&nbsp; * @param dateTime<BR>&nbsp; * @param excursion 偏移量（小时）<BR>&nbsp; * @param fmt DD_HHmm| YMDHMS | others<BR>&nbsp; * @return Date对象<BR>&nbsp; */<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static Date getExcursionDateTime(String dateTime,int excursion,String fmt){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(dateTime!=null){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Calendar cal = Calendar.getInstance();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(fmt.equals(DateUtil.DD_HHmm)){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.set(Integer.parseInt(dateTime.substring(0,4)), Integer.parseInt(dateTime.substring(5,7))-1, Integer.parseInt(dateTime.substring(8,10)),Integer.parseInt(dateTime.substring(11,13)),Integer.parseInt(dateTime.substring(14,16)));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else if (fmt.equals(DateUtil.YMDHMS)){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.set(Integer.parseInt(dateTime.substring(0,4)), Integer.parseInt(dateTime.substring(5,7))-1, Integer.parseInt(dateTime.substring(8,10)),Integer.parseInt(dateTime.substring(11,13)),Integer.parseInt(dateTime.substring(14,16)),Integer.parseInt(dateTime.substring(17,19)));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.set(Integer.parseInt(dateTime.substring(0,4)), Integer.parseInt(dateTime.substring(5,7))-1, Integer.parseInt(dateTime.substring(8,10)));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.add(Calendar.HOUR,excursion);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return cal.getTime();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;/**<BR>&nbsp; * 月份的偏移<BR>&nbsp; * @param dateTime<BR>&nbsp; * @param excursion<BR>&nbsp; * @return<BR>&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static Date getExcursionMonth(String dateTime,int excursion){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Calendar cal = Calendar.getInstance();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.set(Integer.parseInt(dateTime.substring(0,4)), Integer.parseInt(dateTime.substring(5,7)), Integer.parseInt(dateTime.substring(8,10)));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.add(Calendar.MONTH, excursion);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return cal.getTime();<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; /**<BR>&nbsp;&nbsp;&nbsp;&nbsp; * 获取当前的时间<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @return 字符串格式<BR>&nbsp;&nbsp;&nbsp;&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static String getNowDayTime() {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.util.Date nowdate = new java.util.Date();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Timestamp ts=new java.sql.Timestamp(nowdate.getTime());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String now = ts.toString();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nowdate=null;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ts=null;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return now;<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; /**<BR>&nbsp;&nbsp;&nbsp;&nbsp; * 将时间对象按照一定的格式转换成字符串<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param aDate&nbsp; 时间对象<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param format yyyy-MM-dd | yyyy-MM-dd HH:mm:ss | dd/HHmm<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @return 时间字符串<BR>&nbsp;&nbsp;&nbsp;&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static String getDateValue(Date aDate,String format) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (aDate == null) return "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SimpleDateFormat yyyyMMddhhmmss = new SimpleDateFormat(format);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return yyyyMMddhhmmss.format(aDate);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception ex) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; /**<BR>&nbsp;&nbsp;&nbsp;&nbsp; * 比较d段是否包含t段<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param d1<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param d2<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param t1<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @param t2<BR>&nbsp;&nbsp;&nbsp;&nbsp; * @return true 包含 | false 不包含<BR>&nbsp;&nbsp;&nbsp;&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static boolean dateAreaIsContain(Date d1,Date d2,Date t1,Date t2)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return DateUtil.getDayTimes0 (DateUtil.getDateValue (d1,DateUtil.YMDHMS),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DateUtil.getDateValue (t1,DateUtil.YMDHMS))&gt;=0 &amp;&amp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DateUtil.getDayTimes0 (DateUtil.getDateValue (t2,DateUtil.YMDHMS),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DateUtil.getDateValue (d2,DateUtil.YMDHMS))&gt;=0&nbsp; ;<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;/**<BR>&nbsp; * 年月的偏移<BR>&nbsp; * @param ym 年月<BR>&nbsp; * @param move 偏移量<BR>&nbsp; * @return 新的年月<BR>&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static String getExcursionYearMonthString0(String ym,int move){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String _tmp=DateUtil.getExcursionYearMonthString(ym.substring (0,4)+"-"+ym.substring (4),move);<BR>&nbsp;&nbsp;return _tmp.substring (0,4)+_tmp.substring (5);<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;/**<BR>&nbsp; * 获取某年某月的天数<BR>&nbsp; * @param year&nbsp; 年<BR>&nbsp; * @param month&nbsp; 月<BR>&nbsp; * @return 天数<BR>&nbsp; */<BR>&nbsp;public static int getMonthDays(int year,int month){<BR>&nbsp;&nbsp;Calendar time=Calendar.getInstance();<BR>&nbsp;&nbsp;time.clear();<BR>&nbsp;&nbsp;time.set(Calendar.YEAR,year);<BR>&nbsp;&nbsp;time.set(Calendar.MONTH,month-1);//注意,Calendar对象默认一月为0<BR>&nbsp;&nbsp;return time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数<BR>&nbsp;}</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**<BR>&nbsp; * 判断当前是否是本月的最后一天<BR>&nbsp; * @return true 是 false 否<BR>&nbsp; */<BR>&nbsp;public static boolean isMonthEndDay(){<BR>&nbsp;&nbsp;boolean isEndDay=false;</P>
<P>&nbsp;&nbsp;java.util.Date nowdate = new java.util.Date();<BR>&nbsp;&nbsp;int days=getMonthDays(nowdate.getYear (),nowdate.getMonth ());</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(DateUtil.getDayTimes(DateUtil.getDateValue(new Date(),DateUtil.YM)+"-"+days,DateUtil.getDateValue(new Date(),DateUtil.YMD))==0){<BR>&nbsp;&nbsp;&nbsp;isEndDay=true;<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;return isEndDay;<BR>&nbsp;}</P>
<P>&nbsp;/**<BR>&nbsp; * 返回指定年月的最后一天<BR>&nbsp; * @param year&nbsp; 年<BR>&nbsp; * @param month&nbsp; 月<BR>&nbsp; * @return&nbsp; 最后一天<BR>&nbsp; */<BR>&nbsp;&nbsp;&nbsp; public static String getEndDay(int year,int month){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int days=getMonthDays(year,month);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(month&lt;10)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return year+"-0"+month+"-"+days;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return year+"-"+month+"-"+days;<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;public static String getFDateTime(String dateTime){<BR>&nbsp;&nbsp;if(dateTime!=null)<BR>&nbsp;&nbsp;&nbsp;return dateTime.substring (5,7)+dateTime.substring (8,10)+"/"+dateTime.substring (11,13)+dateTime.substring (14,16);<BR>&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<BR>&nbsp;}</P>
<P>&nbsp;/**<BR>&nbsp; * 将日期字符串转换为日期类型,格式：yyyy-mm-dd<BR>&nbsp; * @param dateTime&nbsp; 日期字符串<BR>&nbsp; * @return&nbsp; 转换后的日期类型<BR>&nbsp; */<BR>&nbsp;public static Date getDateByStr(String dateTime){<BR>&nbsp;&nbsp;return getExcursionDate(dateTime,0,DateUtil.YMD);<BR>&nbsp;}</P>
<P>&nbsp;public static Date getDate(String dateTime){<BR>&nbsp;&nbsp;return getExcursionDate(dateTime,0,DateUtil.YMDHMS);<BR>&nbsp;}</P>
<P>}<BR></P>]]></description>
</item><item>
<title><![CDATA[博客开始~]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=neverback&amp;id=49552</link>
<author>neverback</author>
<pubDate>2010/8/13 13:21:54</pubDate>
<description><![CDATA[博客开始~ 
记录一些杂七杂八的东西
技术，心情?
]]></description>
</item>
</channel>
</rss>