Tag: gregorian calendar

如何比较XMLGregorianCalendar只有Date部分(日,月,年)?

我正在开发一个集成了spring-struts web应用程序的web服务,在XSD中有一个XMLGregorianCalendar类型属性,假设属性名称为trxDate 。 在SOAPUI测试应用程序中,如果我插入了trxDate的值: 2013-02-21 ,那么我发送了soap xml请求数据,并在service方法中打印了值:System.out.println(trxDate)方法,打印输出结果与输入相同:2013-02-21。 现在,我正在尝试创建一个函数来将trxDate与当前日期进行比较。 我知道我们可以使用trxDate.compare(currentDate)方法对它进行比较。 问题是我不知道如何使用当前日期创建XMLGregorianCalendar对象集,仅使用日期部分(日,月和年)进行比较。 我尝试使用此代码: GregorianCalendar gc = new GregorianCalendar(); gc.set(GregorianCalendar.HOUR_OF_DAY, 0); gc.set(GregorianCalendar.MINUTE, 0); gc.set(GregorianCalendar.SECOND, 0); gc.set(GregorianCalendar.MILLISECOND, 0); XMLGregorianCalendar xgc = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc); System.out.println(xgc); 结果是: 2013-02-20T00:00:00.000 + 07:00 但我期待: 2013年2月20日 如果使用日期( xgc )与trxDate进行比较: int result = trxDate.compare(xgc); 结果是2,表示:INDETERMINATE(来自DatatypeConstants类)。 正确的结果应该是-1,0或1。 那我的代码有什么问题?

如何从java中获取时区偏移量的时区?

我知道如何相反。 给出了一个时区我可以通过以下代码片段获得时区偏移量: TimeZone tz = TimeZone.getDefault(); System.out.println(tz.getOffset(System.currentTimeMillis())); 我想知道如何从时区偏移中获取时区名称。 鉴于, timezone offset = 21600000 (以毫秒为单位; +6.00偏移量) 我想获得以下任何可能的时区名称的结果: (GMT+6:00) Antarctica/Vostok (GMT+6:00) Asia/Almaty (GMT+6:00) Asia/Bishkek (GMT+6:00) Asia/Dacca (GMT+6:00) Asia/Dhaka (GMT+6:00) Asia/Qyzylorda (GMT+6:00) Asia/Thimbu (GMT+6:00) Asia/Thimphu (GMT+6:00) Asia/Yekaterinburg (GMT+6:00) BST (GMT+6:00) Etc/GMT-6 (GMT+6:00) Indian/Chagos

将格里高利转换为日期

我想从Gregorian转换为Hijri(伊斯兰)日期,我需要一个java类来进行此转换。 我想以“yyyy / mm / dd”的格式给它一个格里高利日期作为字符串,它以相同的格式给我Hijri日期。 谁能帮我?

将GregorianCalendar与SimpleDateFormat一起使用

因此,我一直在思考这个(应该是)简单的练习,让程序将日期字符串转换为GregorianCalendar对象,格式化它,并在完成时将其作为字符串再次返回。 这是一个程序的最后一点,它从文件中获取文本,将其分解为单个记录,然后将记录分成单独的数据并将它们分配给一个人对象。 我已经在多个地方检查了代码,代码完全按照它应该执行的操作,直到我调用格式函数,这会抛出IllegalArgumentException。 GergorianCalendar对象被赋予它应该被分配的值(虽然打印它是另一个故事,如下所示……),但格式不接受格式化的对象。 不幸的是,导师不太确定如何使用GregorianCalendar和SimpleDateFormat(但指派我们使用它们)并且说“Just Google it”……我试过,我发现没有任何帮助。 我到目前为止的代码是: public class DateUtil { public static GregorianCalendar convertFromDMY(String dd_mm_yy) throws ParseException{ // this actually works, got rid of the original code idea String[] splitDate = dd_mm_yy.split(“-“); int days = Integer.parseInt(splitDate[0]); int month = Integer.parseInt(splitDate[1]); int year = Integer.parseInt(splitDate[2]); // dates are going in right, checked in print […]