草庐IT

CALENDAR

全部标签

java - 以毫秒为单位获得实际的 DST 节省

我正在用JavaSwing制作模拟时钟。要计算我需要的时钟指针角度:我可以通过System.currentTimeMillis()获得的以毫秒为单位的UTC时间时区偏移TimeZoneDST节省。对于2)和3)我想到了使用TimeZone.getDefault().getRawOffset()和TimeZone.getDefault().getDSTSavings()。但是getDSTSavings()总是返回3600000,无论当前日期是冬令时还是夏令时。看起来它只检查该区域是否在DST管理下,如果是,则返回3600000,否则返回0。这是getDSTSavings()中的错误吗?如

java - 为什么不推荐使用 Date.getTimezoneOffset?

Date.getTimezoneOffset的文档说:Deprecated.AsofJDKversion1.1,replacedby-(Calendar.get(Calendar.ZONE_OFFSET)+Calendar.get(Calendar.DST_OFFSET))/(60*1000).为什么它被弃用了?是否有更短的方法(ApacheCommons?)以小时/分钟为单位获取UTC的偏移量?我有一个Date对象……我应该为此将它转换为JodaDate吗?在你问我为什么要UTC偏移量之前-它只是为了记录它,仅此而已。 最佳答案

java - 如何调用线程在java中的特定时间运行?

我想让线程在特定的准确时间执行(例如:2012-07-1113:12:24和2012-07-1115:23:45)我检查了ScheduledExecutorService,但它只支持在第一次运行后的特定时间段后执行,我没有任何固定时间段,而是我有时间从数据库中执行任务。在上一个不同问题的问题中here,TimerTask是解决方案,但显然我不能使线程成为TimerTask作为Runnable和TimerTask都有方法run需要实现的。这里的问题是,如果我让线程扩展TimerTask并实现run(),这行得通吗?如果没有,那么怎么可能做我想做的事呢? 最佳答

java - 我怎样才能在 Java 中按升序获取从当天开始的最后 7 天?

我使用以下代码获取最近7天:SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");Calendarcal=Calendar.getInstance();Datedate=cal.getTime();String[]days=newString[6];days[0]=sdf.format(date);for(inti=1;i这给出了以下输出:2016-04-142016-04-132016-04-122016-04-112016-04-102016-04-09但我想要这个:2016-04-092016-04-102016-04-112

java - 在日期中添加天数

我有一个程序需要在2009年1月1日开始,当我开始新的一天时,我的程序将在第二天显示。这是我目前所拥有的:GregorianCalendarstartDate=newGregorianCalendar(2009,Calendar.JANUARY,1);SimpleDateFormatsdf=newSimpleDateFormat("d/M/yyyy");publicvoidsetStart(){startDate.setLenient(false);System.out.println(sdf.format(startDate.getTime()));}publicvoidtoday(

java - java.text.SimpleDateFormat 中的奇怪行为期望 yyyyMMdd 给定 yyyy-MM-dd

我在使用SimpleDateFormat将字符串解析为日期时遇到了一个非常奇怪的行为。考虑以下单元测试:@TestpublicvoidtestParse()throwsParseException{DateFormatdateFormat=newSimpleDateFormat("yyyyMMdd");StringdateStr="2012-12-21";DateparsedDate=dateFormat.parse(dateStr);Calendardate=Calendar.getInstance();date.setTime(parsedDate);Assert.assertEq

java - 考虑夏令时将本地时间转换为 UTC 时间,反之亦然

我知道如何将本地时间转换为UTC时间,反之亦然。但是在执行此操作时,我对夏令时(DST)处理感到非常困惑。所以任何人都可以回答以下问题:1.在时区之间转换时,java是否在内部处理DST?2.时区转换时需要做什么?3.有什么好的文章解释的比较清楚吗?提前致谢。 最佳答案 您确定知道如何将日期与UTC相互转换吗?正确吗?恐怕,我对此表示怀疑。是的。您不需要转换,您只需要分配正确的时区。您需要一篇文章做什么?好的,我正在处理这个问题,但现在让我在这里给出答案。第一件事。您的程序应该在内部以UTC时区存储日期(或日历)。好吧,事实上在GM

Java日历问题: why are these two Dates not equal?

importjava.io.*;publicclasstesting{publicstaticvoidmain(Stringa[])throwsException{Dated1=newDate();Thread.sleep(2000);Dated2=newDate();if(d1.equals(d2)){System.out.println("Bothequal");}else{System.out.println("Bothnotequal");}Calendarc1=Calendar.getInstance();Calendarc2=Calendar.getInstance();c

java - 在特定日期后的下周一获得第一个?

我知道有同样的问题here,但我已经尝试了提供的答案,但它返回了我不理解的输出。我对答案感到困惑,我认为输出不正确。我需要帮助,谢谢:)GregorianCalendardate1=newGregorianCalendar(2014,05,12);//05isjuneasmonthstartfrom0-11while(date1.get(Calendar.DAY_OF_WEEK)!=Calendar.MONDAY)date1.add(Calendar.DATE,1);System.out.println(date1);这是输出:java.util.GregorianCalendar[t

java - 在 Java 中获取当前日期(星期一、星期二等)

我正在开发一个程序,询问用户他们希望在哪一天看到午餐菜单。他们可以按名称输入任何一天(星期一、星期二等)。这很好用,但我也希望他们能够输入“今天”,然后让程序获取当前日期,然后检查菜单中的该值。我该怎么做? 最佳答案 您可以使用java.util.Calendar:Calendarcalendar=Calendar.getInstance();intdayOfWeek=calendar.get(Calendar.DAY_OF_WEEK); 关于java-在Java中获取当前日期(星期一、