Tag: 日期

在Java中将UTC时间转换为本地时区

我知道这个话题已被打死,但在搜索了几个小时之后我不得不问这个问题。 我的问题:根据客户端应用程序(iphone)的当前时区对服务器上的日期进行计算。 客户端应用程序会在几秒钟内告诉服务器它的时区离GMT有多远。 我想使用此信息对服务器中的日期进行计算。 服务器上的日期都存储为UTC时间。 因此,我希望在将UTC Date对象转换为此本地时区后获得它的HOUR。 我目前的尝试: int hours = (int) Math.floor(secondsFromGMT / (60.0 * 60.0)); int mins = (int) Math.floor((secondsFromGMT – (hours * 60.0 * 60.0)) / 60.0); String sign = hours > 0 ? “+” : “-“; Calendar now = Calendar.getInstance(); TimeZone t = TimeZone.getTimeZone(“GMT” + sign + hours + “:” + […]

比较Java中的日期

我已经阅读了日期函数,但我不能想出解决问题的最佳方法。 我有几个数据库的日期是String ,我想将它与当前日期进行比较。 我正在使用compareTo ,但使用此函数时出现问题我猜是因为我正在比较字符串。 这是我的function: public int dateCompare(String today, String date2){ return today.compareTo(date2); } 当我在样本日期使用它时: dateCompare(“04/19/2013″,”04/18/2013”); 它返回1,当我将第一个参数的值更改为”04/20/2013″它仍然返回1。 请帮忙…

从字符串中提取日期

我有一个文件名列表大致如下:Gadget1-010912000000-020912235959.csv,即它们包含两个日期,表示其数据的时间跨度。 用户输入日期格式和文件格式: 在这种情况下的文件格式:* GADGET * – * DATE_FROM * – * DATE_TO * .csv 在这种情况下的日期格式:ddMMyyHHmmss 我想要做的是使用给定的文件和日期格式从文件名中提取三个值。 我的问题是:由于日期格式可能差别很大(小时,分钟和秒可以用冒号分隔,日期用点,…)我不太清楚如何创建一个合适的正则表达式。

如何格式2016-02-12T15:23:20 + 02:00时间

我从我们的网络服务获得上述日期格式。 我对如何格式化日期有一个想法,我只是对它作为一个字符串的事实有问题。 我试过这个,但我需要将它作为String返回,这在某种程度上不是问题。 这是我尝试过但它引发了一个exception: java.text.ParseException:无法解析的日期:“2016-02-26T00:00:00 + 02:00”(偏移4处) 码: public static String formatDate(String unFormattedTime) { String formattedTime; try { SimpleDateFormat sdf = new SimpleDateFormat(“dd MMM HH:mm”); Date date = sdf.parse(unFormattedTime); formattedTime = sdf.format(date); return formattedTime; } catch (ParseException e) { e.printStackTrace(); } return “”; } 我怎么能用像dd MMM HH:mm这样的格式来格式化它?

按天拆分java.util.Date集合

请问你能帮帮我吗。 我无法弄清楚算法。 我有一个已排序的日期集合,例如ArrayList,如下所示: Wed Jan 22 00:00:00 MSK 2014 Wed Jan 22 00:30:00 MSK 2014 Wed Jan 23 01:00:00 MSK 2014 Wed Jan 23 01:30:00 MSK 2014 Wed Jan 23 02:00:00 MSK 2014 Wed Jan 24 02:30:00 MSK 2014 Wed Jan 24 03:00:00 MSK 2014 Wed Jan 24 03:30:00 MSK 2014 Wed Jan 24 04:00:00 […]

在解析之前检查日期格式

我正在使用字段Duration解析几个documments。 但在不同的文件中,它采用不同的格式,例如: “Duration”: “00:43” “Duration”: “113.046” “Duration”: “21.55 s” 我想将它们全部解析为格式”Duration”: “113.046” ,我怎么能在以任何格式解析之前检查它? 这段代码之前的一些条件,因为这不适合所有这些: Long duration; DateFormat sdf = new SimpleDateFormat(“hh:mm:ss”); try { Date durationD = sdf.parse(totalDuration); Date zeroSec = sdf.parse(“00:00:00”); duration = durationD.getTime() – zeroSec.getTime(); } catch (Exception e) { duration = Long.parseLong(totalDuration); } 提前致谢

在hh中将时间从hh:mm:ss转换为hh:mm

我想将时间转换为hh:mm从hh:mm:ss它来自数据库(我的sql),forms为hh:mm:ss。 我尝试了以下代码,但我没有得到我想要的。 try { s= HibernateUtil.currentSession(); tx=s.beginTransaction(); Query query = s.createQuery(“select from Dailytimesheet dailytimesheet where dailytimesheet.IdDailyTimeSheet=6083 ” ); for(Iterator it=query.iterate();it.hasNext();) { if(it.hasNext()) { Dailytimesheet object=(Dailytimesheet)it.next(); String dt=object.getTimeFrom().toString(); SimpleDateFormat sdf = new SimpleDateFormat(“HH:mm”); long ms=0; try { ms = sdf.parse(dt).getTime(); } catch (ParseException e) {e.printStackTrace();} Time ts = new Time(ms); out.println(“”+ts+””); 谢谢你的帮助。

使用不同的格式/模式解析字符串到目前为止

我需要解析一个字符串到一个日期,但没有事先知道字符串将在哪个模式。这类似于如何在不知道格式的情况下将字符串转换为日期的问题? 。 为了解决这个问题,我采用了几种模式来测试结果。 但是,我得到的有点奇怪。 例1: import java.util.Date; import org.apache.commons.lang3.time.DateUtils; public Date extractDate(String dateStr) { String [] datePatterns = {“yyyy-MM-dd”, “dd-MM-yyyy”}; Date date = null; try { date = DateUtils.parseDate(dateStr, datePatterns); } catch (Exception except) { except.printStackTrace(); } return date; } public static void main(String[] args) throws Exception { System.out.println (“2013-09-30:” + extractDate(“2013-09-30”) ); System.out.println (“30-09-2013:” […]

从数据库加载后,Java Date toString以不同的格式

如何在Java持久化之前和之后以可靠的方式比较日期? 我面临的问题是:当我创建java.util.Date的新实例时,它的toString()方法返回一个值,包括星期几和时区: Fri Feb 03 10:15:31 CET 2017 当我在数据库表中保留此日期(EDIT:Date对象)并将其加载回实体时,toString方法返回不同的格式,具体取决于数据库类型: In case of MySQL date: 2017-02-03 In case of MySQL datetime: 2017-02-03 10:24:34.0 我并不总是有权访问格式化程序,因为toString方法可能会被我的应用程序中的另一个toString方法隐式调用。 这些问题对我而言: 使用toString时,Date对象如何知道要选择哪种格式? 如何控制新的Date对象,它应该首先代表一个日期(即没有时间分数的一天)? 在对象从数据库加载之前和之后的unit testing中比较持久对象的日期的最佳做法是什么?

计算两个日期之间的小时数,不包括周末

你好我试图计算在24小时内发生在java中两个不同时间戳之间的小时数而不包括周末的问题。 String timestamp = rs.getString(“timestamp”); String timeStamp = new SimpleDateFormat(“yyyyMMddHH”).format(new Date()); int currentTimeStamp = Integer.parseInt(timeStamp); String orderTime = timestamp.replace(“-“, “”); String[] splitTimestamp = orderTime.split(” “); String finalTimestamp = splitTimestamp[0] + splitTimestamp[1].substring(0,2); int orderTimeStamp = Integer.parseInt(finalTimestamp); 这目前确实有效但包括周末。 如果有人能帮助我,我会非常感激。 这都是在东部时区完成的。 周末不需要或不需要假期。