Tag: datetime

需要灵活的日期时间转换与joda

我想用joda来解析电子邮件中的日期时间字符串。 不幸的是,我得到了各种不同的格式,例如 Wed, 19 Jan 2011 12:52:31 -0600 Wed, 19 Jan 2011 10:15:34 -0800 (PST) Wed, 19 Jan 2011 20:03:48 +0000 (UTC) Wed, 19 Jan 2011 17:02:08 -0600 (CST) Fri, 21 Jan 2011 10:39:55 +0100 (CET) Fri, 21 Jan 2011 17:50:42 -0500 (EST) Wed, 06 Apr 2011 15:38:25 GMT Thu, 7 Apr 2011 11:38:24 +0200 […]

在java.time中,如何计算添加月份的结果?

在JDK 8中的JSR-310 java.time API中,有哪些规则可用于计算将日期添加到日期的结果。 特别是,当您将1个月添加到1月31日这样的日期时会发生什么? LocalDate initial = LocalDate.of(2012, 1, 31); // 31st January 2012 LocalDate result = initial.plusMonths(1); // what is the result?

如何获取日期格式,如yyyy-mm-dd am in java

我需要得到如下日期格式: “yyyy-mm-dd am” 要么 “yyyy-mm-dd pm” 在Java for Android中 我不需要当前时间,只需要yyyy-mm-dd加上午 / 下午 如何直接制作? 我使用以下方法获取当前日期: private static String getDate(){ Calendar c = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-mm-dd”); return sdf.format(c.getTime()); }

如何用可选部分解析日期时间?

我的日期时间可能是以下格式之一: MM / DD / YY M / DD / YY MM / d / yy的 M / d / yy的 任何上述HH:mm 任何上述4位数的年份 我构建的DateTimeFormatter如下: new DateTimeFormatterBuilder() .appendValue(ChronoField.MONTH_OF_YEAR, 1, 2, SignStyle.NEVER) .appendLiteral(‘/’) .appendValue(ChronoField.DAY_OF_MONTH, 1, 2, SignStyle.NEVER) .appendLiteral(‘/’) .appendValue(ChronoField.YEAR_OF_ERA, 2, 4, SignStyle.NEVER) .optionalStart() .appendLiteral(‘ ‘) .appendValue(HOUR_OF_DAY, 2) .appendLiteral(‘:’) .appendValue(MINUTE_OF_HOUR, 2) .toFormatter(); 但它无法格式化2/9/17 。 为什么?

如何在java中将UTC日期格式字符串转换为日期格式?

我有一个要求,其中日期是UTC格式,如: Thu Jan 1 19:30:00 UTC + 0530 1970 。 我想转换为正常的日期格式dd-MM-yyyy HH:mm:ss .Below是我试过的代码。 DateFormat formatter = new SimpleDateFormat(“E,MMM dd,yyyy h:mmaa”); String today = formatter.format(“Thu Jan 1 19:30:00 UTC+0530 1970”); SimpleDateFormat f = new SimpleDateFormat(“EEE MMM dd HH:mm:ss zzz yyyy”); Date d = f.parse(masterDetailsJsonObject.get(“cols1”).toString()); 但它引发了一个例外,称无法解析日期。 请指导。 提前致谢。

Java 8:从纪元时间开始获取周数

给定LocalDate我想转换为自纪元以来的周数 一种方法是: LocalDate date = datePicker.getValue(); // input from your date picker Locale locale = Locale.US; int weekOfYear = date.get(WeekFields.of(locale).weekOfWeekBasedYear()); And X = find weeks since Epoch to prevYear And then result = X + weekOfYear 虽然我们可以找到“自纪元以来的周数”,但是有没有使用Java 8找到它的干净解决方案? 更新:即使上面的解决方案不会工作一周(总是从星期日开始)可能跨越两年

在Joda Time获取一年中第一周的第一天的日期

我有一个Java日期:tempDate = Sun Jan 01 00:00:00 GMT + 01:00 2012。 我想创建一个新的日期,即tempDate年份第一周的第一天。 那是: Mon Jan 02 00:00:00 GMT+01:00 2012 当我尝试使用Joda时间时: DateTime cal = new DateTime(tempDate).withWeekOfWeekyear(1). withDayOfWeek(DateTimeConstants.MONDAY); 我得到了我想要的,但在前一年: Mon Jan 03 00:00:00 GMT+01:00 2011 我如何在Joda Time中完成这项工作?

从JdbcTemplate中的ResultSet获取DateTime

在数据库中我的列是TIMESTAMP类型,所以我的类具有类型为Datetime的属性,如下所示: public void setDiscoveryDate(final DateTime discoveryDtTm) { this.discoveryDtTm = discoveryDtTm; } 现在在JdbcTemplate中我想得到它,所以有些代码如下: variant.setDiscoveryDate(rs.getTimestamp(“discovery_dt_tm”)); 哪个不起作用,因为列为结果集的get我找不到返回DateTime的东西,我只看到了getDate或getTime。

如何在MySQL数据库中存储Java Instant

使用Java Date对象,最简单的方法是将它们存储为MySql DateTime对象(以UTC格式)。 切换到Instant这种方法将不再起作用,因为MySQL DateTime不提供存储纳秒的精度。 只是截断它们可能会导致新创建的Instant对象与从数据库中读取的对象之间出现意外的比较结果。 BigDecimal时间戳不会让我觉得它是一个优雅的解决方案:在MySql Workbench中编写select查询会变得更加困难,因为你必须在任何地方转换时间戳以使其可读,并且Java中的处理与Instant或甚至Long相比有点笨拙值。 什么是最好的方式去这里? 可能不是varchar ,对吗?

有没有比这更容易的方式开始当前时间?

我基本上想要获得零或开始时间的一天。 def today = Calendar.instance today.set(Calendar.HOUR_OF_DAY, 0) today.set(Calendar.MINUTE, 0) today.set(Calendar.SECOND, 0) println today // Mon Mar 15 00:00:00 SGT 2010