我正在编写一个程序,它应该只计算2个给定日期之间的月份并将值返回给程序.例如,如果我必须计算4月1日到6月30日之间的月数(这是一个季度,3个月),我使用以下代码:
DateTime start = new DateTime().withDate(2011, 4, 1);
DateTime end = new DateTime().withDate(2011, 6, 30);
Months mt = Months.monthsBetween(start, end);
int monthDiff = mt.getMonths();
Run Code Online (Sandbox Code Playgroud)
使用这个,我仍然得到"2"作为月数,而实际上是"3"个月.这是我想要的一个例子.我只计算月数(即从结束月份的最后一个月的开始月份的第1天起),我不需要额外的分析,如天,周,小时等.我如何实现这一目标?
任何帮助,将不胜感激.
我试图用Java DOM API(而不是SAX)解析XML文档.每当解析器在解析文本节点时遇到&符号(&)时,它就会出错.我猜这是可解决的1)转义,2)编码或3)使用不同的解析器.
我正在阅读一篇我无法控制的XML文档,因此每次阅读时都无法准确识别文档中的&符号.
我在类似问题上看到的答案建议在解析XML时替换实体类型,但我不知道如何能够这样做,因为它在遇到XML&符号时甚至都不会解析.
任何帮助将不胜感激.