草庐IT

dateTime

全部标签

java - 以毫秒为单位的自定义日期和时间字符串

我有时间以毫秒为单位。1308700800000;我需要将其转换为类似Jun9'11at02:15PM的格式。我试过用SimpleDateFormatformat=newSimpleDateFormat("MMMD'\''YY");但我得到一个异常(exception):Causedby:java.lang.IllegalArgumentException:Unterminatedquote如有任何帮助,我们将不胜感激。 最佳答案 从异常消息中可以清楚地看出问题出在您的格式字符串上,尤其是单引号部分。查看documentation,

java - joda-time DateTime.with*() 的性能问题

有没有快速创建DateTime实例并将分\秒\毫秒设置为0的方法?目前我正在使用以下代码:privateDateTimecreateDateTime(java.util.Datedate,org.joda.time.Chronologychronology){DateTimedateTime=newDateTime(date,chronology);dateTime=dateTime.withMinuteOfHour(0);dateTime=dateTime.withSecondOfMinute(0);dateTime=dateTime.withMillisOfSecond(0);re

java - Joda Time : Get first/second/last sunday of month

在纯Java中,我有这段代码可以获取该月的最后一个星期日。CalendargetNthOfMonth(intn,intday_of_week,intmonth,intyear){CalendarcompareDate=Date(1,month,year);compareDate.set(DAY_OF_WEEK,day_of_week);compareDate.set(DAY_OF_WEEK_IN_MONTH,n);returncompareDate;}//UsageCalendarlastSundayOfNovember=getNthOfMonth(-1,SUNDAY,NOVEMBER

java - 无法将 ISO 8601 格式的字符串解析为 Java 8 日期,在偏移量中缺少冒号

我对java8日期格式/解析功能有点沮丧。我试图找到Jackson配置和DateTimeFormatter解析"2018-02-13T10:20:12.120+0000"字符串到任何Java8日期,但没有找到它。这是java.util.Date工作正常的例子:Datedate=newSimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSZZZ").parse("2018-02-13T10:20:12.120+0000");相同的格式不适用于新的日期时间apiZonedDateTimedateTime=ZonedDateTime.parse("2018-0

Java 从 LocalDateTime Bar 中减去 LocalDateTime foo

这个问题在这里已经有了答案:Java8:DifferencebetweentwoLocalDateTimeinmultipleunits(11个答案)关闭6年前。我知道这可能是一个非常愚蠢的问题,但我想知道是否有办法从另一个减去本地日期时间,或者如果没有,将localDateTime转换为日期时间然后从那里减去?我需要能够计算出记录foo的开始和记录bar的开始(也是Foo的结束)之间的日期时差我是java的新手,为了简单起见,我希望能够将它保持在大致相同的布局中,而不是必须从秒等转换。如果添加和减去LocalDateTime不是一个选项,我知道一旦进入dateTime,我就可以使用以

java - 迭代 Joda 时间的间隔

是否可以一次一天地迭代间隔的开始日期和结束日期之间的时间?使用Clojure的clj-time库也可以! 最佳答案 是的。像这样:DateTimenow=DateTime.now();DateTimestart=now;DateTimestop=now.plusDays(10);DateTimeinter=start;//Loopthrougheachdayinthespanwhile(inter.compareTo(stop)此外,这是Clojure的clj-time的实现:(defndate-interval([startend

面向不同地域用户的日期操作/存储的 Java 最佳实践

我已经阅读了关于日期操作的所有其他问答,但似乎没有一个对我的担忧提供令人满意的答案。我有一个具有不同地域用户的项目,它使用Date在它的一些类和数据中。问题是我正在寻找一种有效的方法来操作各自时区中不同用户的日期,大多数答案建议使用Joda图书馆Date操作,目前还不太明白,因为我还没有发现任何传统Java无法完成的操作,所以如果有人可以解释我可以用Joda做什么用传统的Java做不到的,那我可以考虑使用它。我终于来到了使用System.currentTimeMillis()的方法将我的日期保存到数据库(任何数据库)中。这将避免我担心哪个时区正在使用数据库来存储日期。如果我想查询数据库

Java/Servlet : get current sql. 日期

我需要做的是:1)从请求中获取用户的语言环境。2)根据用户的区域设置,使用当前日期和时间创建新的sql.Date对象3)写入MySQLdb,列类型:TIMESTAMP我得到的是:java.util.Localelocale=request.getLocale();java.text.DateFormatdateFormat=java.text.DateFormat.getDateTimeInstance(java.text.DateFormat.LONG,java.text.DateFormat.LONG,locale);java.util.Datedate=newjava.util.

java 8 Instant.now() 显示错误的即时时间

在Java8Instant.now()方法中显示错误的时间。我的代码看起来像:importjava.time.*;importjava.time.temporal.*;publicclassDateTimeDemo{publicstaticvoidmain(String[]args){Instantnow=Instant.now();System.out.println(now);}}它的日期部分是正确的,但时间部分是正确的。例如2016-07-11T11:01:25.498Zbutinmysystemitis4.31PM我正在使用亚洲/加尔各答时区 最佳答

java - 如何使用 Java Stream API(groupingBy 收集器)对列表中的值进行分组?

我有Entry的列表对象。Entry是一个:classEntry{privatefinalDatedate;privatefinalStringvalue;//constructor//getters}我需要按天对这些条目进行分组。例如,2011-03-2109:00VALUE12011-03-2109:00VALUE22011-03-2214:00VALUE32011-03-2216:00VALUE42011-03-2116:00VALUE5应该分组:2011-03-21VALUE1VALUE2VALUE52011-03-22VALUE3VALUE4我想要一个Map>.如何使用Str