Tag: date

Java日期和夏令时

我正在尝试使用for循环打印一天中的所有小时并递增Date对象。 但我不能拥有“Sun Mar 25 02:00:00”,我只有这些: Sun Mar 25 01:00:00 CET 2012 Sun Mar 25 03:00:00 CEST 2012 Sun Mar 25 03:00:00 CEST 2012 Sun Mar 25 04:00:00 CEST 2012 Sun Mar 25 05:00:00 CEST 2012 我对拥有TimeZone不感兴趣。 我认为问题是由于夏令时,但我需要“Sun Mar 25 02:00:00”。 如何创建该日期?

SimpleDateFormat似乎给出了错误的结果

我正在使用Java 7和Clojure 1.4。 我在Clojure中编写了一些数据库测试,用于包含Date对象的表,使用OracleDB over JDBC 。 我需要将收到的Date ( Date对象)与String – 所以我可能需要将该字符串转换为Date对象。 经过一些谷歌搜索,我找到了Java的SimpleDateFormat 。 这是我使用的(有额外的东西用于调试) (defn parseDate [date] (do (debug (str “Parsing date: ” date )) (let [ dateobj (java.text.SimpleDateFormat. “dd-MMM-YY”) parsed (do (. dateobj setLenient false) (. dateobj parse date))] (debug (str “Result: ” parsed)) parsed))) 我扔了一些日期,我得到以下输出.. Parsing date: 01-jan-12 Result: Mon Jan 02 […]

Java Date,使用特定日光模式渲染

我有一个Java Date ,从夏天开始,在夏令时期间。 例如: 2009年6月1日上午06:00太平洋时间 我的问题是,如何将此日期显示为当地时区和当前夏令时模式 (在我的太平洋标准时间内)? 2009年6月1日太平洋标准时间05:00 Java的Date.toString()和SimpleDateFormat以原始夏令时模式显示日期。 例: System.out.println(new Date(1243861200000L)); 输出: Mon Jun 01 06:00:00 PDT 2009 DateFormat dateFormat = new SimpleDateFormat(“MMM dd, yyyy hh:mm aa zzz”); dateFormat.setTimeZone(TimeZone.getTimeZone(“PST”)); System.out.println(dateFormat.format(new Date(1243861200000L))); 输出: 2009年6月1日上午06:00太平洋时间 我真正想看的是太平洋标准时间凌晨5点(相当于太平洋夏令时上午6点)。 有没有办法强迫它使用另一种夏令时模式? 跟进:顺便说一下,这是Windows XP的行为。 6月1日上午6点创建的文件(由资源管理器,命令提示符等)将在6月1日冬季凌晨5点出现。

如何在java中以ISO日期格式打印当前时间和日期?

我应该以ISO格式发送当前日期和时间,如下所示: ‘2018-02-09T13:30:00.000-05:00’ 我写了以下代码: Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm”); SimpleDateFormat formatter1 = new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss.000’Z'”); System.out.println(formatter.format(date)); System.out.println(formatter1.format(date)); 它以下列方式打印: 2018-04-30T12:02 2018-04-30T12:02:58.000Z 但它不是以上述格式打印。 如何获得格式中显示的-5:00以及它表示什么?

Jodatime日期格式

是否可以格式化JodaTime日期。 这是代码: private static LocalDate priorDay(LocalDate date1) { do { date1 = date1.plusDays(-1); } while (date1.getDayOfWeek() == DateTimeConstants.SUNDAY || date1.getDayOfWeek() == DateTimeConstants.SATURDAY); //System.out.print(date1); return date1; } 这里date1返回为: 2013-07-02,但我想作为02-JUL-13 提前致谢

使用新的Date()作为唯一标识符

想象一下,我有一个每秒创建1000个实体的过程。 对于每个这些实体,我称之为setter: newEntity.setDate(new Date()); 1)2个实体是否有可能收到相同的日期? 或者可以安全地假设我确实获得了日期字段的唯一标识符效果? 2)如果对问题#1的回答是:“是” – 让我们做一个小调整:让我们创建一个函数: public static synchronized Date getDate() { return new Date(); } 它现在会起作用吗? newEntity.setDate(getDate()); 3)怎么样 System.nanoTime()? 编辑 4)怎么样: public static synchronized Date getDate() { Thread.Sleep(1000); return new Date(); } 谢谢。

从字符串开始的Java星期几

我有这个简单的代码: SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”); Date date = format.parse(“2011-10-29”); calendar.setTime(date); Log.d(“Debug”,”Day of the week = “+(calendar.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY)); 十月二十九日是星期六,为什么我会弄错?

Java的BST ZoneId代表什么?

我在DB中存储了这个时间框架:伦敦(BST)的15:00到16:00的任何一天 当我在此时间帧之间收到事件时,我需要执行一个程序IF。 我现在在巴黎(16:22)运行测试,在伦敦的时间是15:22(所以在存储在数据库中的时间帧之间)。 这是我的代码 // create Local Date Time from what I have stored in the DB LocalDateTime dateTime1 = LocalDateTime.of(2017, Month.JUNE, 15, 15, 00); LocalDateTime dateTime2 = LocalDateTime.of(2017, Month.JUNE, 15, 16, 00); Instant now = Instant.now(); System.out.println (now.isAfter (dateTime1.atZone(ZoneId.of(“BST”, ZoneId.SHORT_IDS)).toInstant())); System.out.println (now.isBefore(dateTime2.atZone(ZoneId.of(“BST”, ZoneId.SHORT_IDS)).toInstant())); 理论上现在(巴黎16:22 /伦敦15:22)在伦敦(15:00)的dateTime1之后和伦敦的dateTime2(16:00)之前 但我得到的不是那个dateTime2

validation时间戳格式yyyy-MM-dd’T’HH:mm:ssZ在java中?

我正在尝试使用joda time-1.6.2进行时间戳validation。 请指出我的错误并帮助我。 码 String timestamp = “2014-09-23T23:03:11Z”; String datePattern = “yyyy-MM-dd’T’HH:mm:ssZ”; try { DateTimeFormatter dateFormatter = DateTimeFormat.forPattern(datePattern); dateFormatter.parseDateTime(timestamp); } catch (Exception e) { LOG.info(“Timestamp is invalid format” + e); } 例外 INFO: Timestamp is invalid formatjava.lang.IllegalArgumentException: Invalid format: “2014-09-23T23:03:11Z” is malformed at “Z”

Date.getTime()不包括时间?

无法理解为什么会发生以下情况: String date = “06-04-2007 07:05”; SimpleDateFormat fmt = new SimpleDateFormat(“MM-dd-yyyy HH:mm”); Date myDate = fmt.parse(date); System.out.println(myDate); //Mon Jun 04 07:05:00 EDT 2007 long timestamp = myDate.getTime(); System.out.println(timestamp); //1180955100000 — where are the milliseconds? // on the other hand… myDate = new Date(); System.out.println(myDate); //Tue Sep 16 13:02:44 EDT 2008 timestamp = myDate.getTime(); System.out.println(timestamp); //1221584564703 […]