Tag: datetime

在日期时间字段或时区问题疯狂的MS SQL Server JDBC驱动程序?

在调试期间,我以简单的例子结束: select convert(datetime, ‘2015-04-15 03:30:00’) as ts go Apr 15 2015 03:30AM (1 row affected) select convert(int, datediff(second, ‘1970-01-01 00:00:00’, convert(datetime, ‘2015-04-15 03:30:00’))) as ts go 1429068600 (1 row affected) $ TZ=UTC date –date=@1429068600 +%F_%T 2015-04-15_03:30:00 当我从JDBC执行查询时,我得到2个不同于上面的结果!!!! 码: String TEST_QUERY = “select convert(datetime, ‘2015-04-15 03:30:00’) as ts”; PreparedStatement stmt2 = conn.prepareStatement(TEST_QUERY); ResultSet rs = stmt2.executeQuery(); […]

使用SimpleDateFormat将String转换为Date返回随机日期

我对以下行为感到很困惑。 我从一个方法返回2个日期作为字符串: getLastSupplierFlightResults() 我添加了一个屏幕截图,分别显示返回的日期为“2018-06-20 00:00:00”和“2018-06-24 00:00:00”,并将调试跟踪保留为显示值。 我只想将日期转换为20180620格式。 方法: .withStartDate() .withEndDate() …接受字符串值 我不明白的是“2017年12月6日00:00:00 GMT”的日期是从哪里来的? 这是最终被传递到.withStart和.withEnd方法的值,如20171206。 与往常一样,可能有一种更简单的方法来实现我的目标。

从Java生成并解析文本中的“年 – 月”值

我有一个HTML弹出菜单,列出了各种年月组合。 每个菜单项具有用于内容显示的本地化字符串表示,例如Nov 2015 ,以及诸如201511的编码值的属性。 例如: Nov 2015 Oct 2015 Sept 2015 我使用java.util.Calendar生成编码值字符串。 int month = Calendar.getInstance().get(Calendar.MONTH)+1; int year = Calendar.getInstance().get(Calendar.YEAR); String v = String.valueOf( year ) + String.valueOf( month ); 这是有效的,但是当我真正关心的是没有日期或时间的年份+月份时,使用日历(日期加上一个时间)似乎很奇怪。 在现代Java中有一些更好的方法可以处理一年+一个月吗?

如何确定特定时间周五和周日之间的日期

我正在尝试检查当前日期和时间是在星期五17:42到星期日17:42之间的Java。 目前我正在用非常糟糕的代码块来做这件事。 这是一个匆忙的解决方案。 现在我正在重构,但我在joda等找不到任何方法。 有任何想法吗? 谢谢 private final Calendar currentDate = Calendar.getInstance(); private final int day = currentDate.get(Calendar.DAY_OF_WEEK); private final int hour = currentDate.get(Calendar.HOUR_OF_DAY); private final int minute = currentDate.get(Calendar.MINUTE); if (day != 1 && day != 6 && day != 7) { if (combined != 0) { return badge == 1; } else { […]

在Java中将日期转换为字符串并返回日期

在我的程序中,我试图将日期转换为字符串到指定的格式,然后再回到日期。 我需要日期为dd-MMM-yy格式。 所以,我正在使用SimpleDateFormat将日期转换为dd-MMM-yy格式, SimpleDateFormat sdf = new SimpleDateFormat(“dd-MMM-yy”); String bookingDate = sdf.format(myDate); 结果是我的预期,即23-May-12,但是当我使用parse()将字符串转换回日期时,它将更改为2012年5月23日13:16:14 IST 2012。 有没有办法在不改变格式的情况下将字符串转换回日期? 我严格地需要将指定格式的日期对象传递给查询。

使用java中的SimpleDateFormat将yyyy / mm / dd解析为纪元时间戳

我编写了一个java实用程序函数来转换yyyy / mm / dd,如下所示 public static long gettimestamp(String dateString) { SimpleDateFormat df = new SimpleDateFormat(“yyyy/mm/dd”); Date date; try { date = df.parse(dateString); } catch (java.text.ParseException e) { return 0; } long epoch = date.getTime(); return (epoch / 1000); } 在通过2014/06/12 – 它给出1389465360(= 2014年1月11日)这是错误的。 我以错误的方式传递格式吗?

如何在Java中转换此日期?

我要转换: 2010-03-15T16:34:46Z 像“5小时前” 我怎么能用Java做到这一点?

datetimeoffset hibernate mapping

我正在尝试使用ms sql server的hibernate,并且难以将sql类型datetimeoffset映射到java。 如果我尝试在逆向工程配置中设置映射类型: 我得到一个错误说…… 像org.hibernate.MappingException:jdbc-type:microsoft.sql.Types.DATETIMEOFFSET不是已知的JDBC Type也不是有效的数字 我想在这种情况下只能使用详细的jdbc类型。 有关如何解决这个问题的任何想法?

日期时间解析错误

我在Java中解析日期时遇到问题。 以下是代码。 String dateString = “2017-12-13T16:49:20.730555904Z”; List formatStrings = Arrays.asList(“yyyy-MM-dd’T’HH:mm:ss’Z'”, “yyyy-MM-dd’T’HH:mm:ss.SSSSSSSSS’Z'”); for (String formatString : formatStrings) { try { SimpleDateFormat formatter = new SimpleDateFormat(formatString); formatter.setTimeZone(TimeZone.getTimeZone(“UTC”)); Date d = formatter.parse(dateString); System.out.println(“Format is:” + formatString); System.out.println(“Orignal Date: ” + d); System.out.println(“Orignal MS: ” + d.getTime()); return d; } catch (ParseException e) {} } return null; } 当我运行这个程序时,我得到以下输出。 […]

使用SimpleDateFormat将带有GMT时区的字符串解析为Date

我在输入字符串解析日期时遇到问题,该输入字符串格式如下: String input = “Fri Jul 15 12:00:00 GMT+300 2011”; String dateFormat = “EEE MMM d HH:mm:ss z yyyy”; Date date = new SimpleDateFormat(dateFormat).parse(input); 抛出exception: java.text.ParseException: Unparseable date: “Fri Jul 15 12:00:00 GMT+300 2011” at java.text.DateFormat.parse(DateFormat.java:337) 我打赌它与GMT字符串有关。 我想我已经尝试过z , zzz , zZ和zzzZ 。 有什么想法吗? 输入GMT+300甚至是标准的有效输入格式吗?