Tag: datetime

在JAVA中使用Date类处理TimeZone更改

我正在尝试打印当前系统日期和时间,如下所示, public class PrintDate { public void getDate(){ while(true){ System.out.println(new Date()); } } public static void main(String[] args) { new PrintDate().getDate(); } } 这个无限循环按预期打印当前系统时间戳,当我在操作系统中更改日期或时间但没有时区更改时,它工作正常。 示例: 我启动了上面的代码,它按预期连续打印当前系统时间戳。 当我更改系统日期或时间时,它会成功反映在代码中。 当我更改系统时区时,它没有反映在代码中。 自程序启动以来,它仍然显示相同的时区。 我可以知道这背后的原因吗?

在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将当前日期和时间保存到数据库?

我使用以下代码来获取当前日期和时间,但输出不是我所期望的,我不能将其保存到数据库中。 输出>>当前:Tue Mar 05 09:58:26 2013 预期产量>>当前:2013-03-05 9:58:26 …..{ SimpleDateFormat dateFormat = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); SimpleDateFormat parseFormat = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); Date date = new Date(); try { System.out.println(“current: ” +parseFormat.parse(dateFormat.format(date))); return parseFormat.parse(dateFormat.format(date)); } catch (ParseException ex) { Logger.getLogger(ConstructionModel.class.getName()).log(Level.SEVERE, null, ex); } return date; } …… ps.setDate(….) <<< failed 数据库 name type mydate Date

在java中隐藏RFC3339 DateTime到日期

如何在RFC中将RFC 3339 com.google.api.client.util.DateTime转换为DateTime。 例如,我得到“2014-07-21T16:35:27.000Z”,我需要将其转换为“2014年7月15日下午6:07:25”格式。 无论如何转换这个? 这是我试过的。 我已将DateandTime保存为mongo db中的字符串。 public Map getYouTubeLastFetchDateTime(String key) { System.out.println(“Inserting data first time….”); Date nowDate = new Date(); Date dateBefore = new Date(nowDate.getTime() – 7 * 24 * 3600 * 1000); Utils utils = new Utils(); DBCollection collection = utils.getStaging().getCollection( DB_YOUTUBE_COLLECTION_NAME); if (null != collection) { CIPKeyWord keyword = new CIPKeyWord(); […]

UTC日期解析Java中的不一致性

在解析UTC/GMT日期时发生了一些奇怪的事情。 我将日期格式设置为 “yyyy-MM-dd’T’HH:mm:ss’Z'” 其中Z代表UTC 。 我给出了以下日期字符串来解析: String startTimestampString = “2013-10-02T00:00:00Z”; 我希望得到与输出相同的日期,但相反它显示 2013-10-01 17:00:00.0 现在肯定从这7小时的延迟来自哪里? 码: import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.TimeZone; public class DateTest { public static void main(String[] args) throws ParseException { SimpleDateFormat date = new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss’Z'”); date.setTimeZone(TimeZone.getTimeZone(“UTC”)); System.out.println(TimeZone.getTimeZone(“UTC”).toString()); String startTimestampString = “2013-10-02T00:00:00Z”; long startTimestamp = date.parse(startTimestampString).getTime(); System.out.println(String.format(“Long %d and timestamp %s”, […]

每15分钟Java日期时间比较

我有一个带有时间戳的csv记录,如每隔5分钟: – 2015/05/19 16:15:00 – 2015/05/19 16:20:00 – 2015/05/19 16:35:00 – 2015/05/19 16:10:00 – 2015/05/19 16:55:00 我正在使用数组来比较每条记录的日期是否在15分钟内: ArrayList per15Min = new ArrayList() {{ add(“00,15”); add(“15,30”); add(“30,45”); add(“45,00”); }}; 我所做的是阅读每条记录,根据“,”将其拆分以提取日期: private SimpleDateFormat csvDateFormat = new SimpleDateFormat(“yyyy/MM/dd HH:mm:ss”); private SimpleDateFormat fileDateFormat = new SimpleDateFormat(“yyyyMMddHHmm”); // Loop thru each record while ((perLine = br.readLine()) != null) { // […]

在非活动类中获取Android App Start Time

我想获得android应用程序的开始日期时间。 最简单的方法是注意onCreate活动类中的当前时间,但我的问题是我正在创建一个带有一些实用程序函数的android库。 我想找出库本身内最终用户应用程序(即使用库)的开始日期时间。 我不想让应用程序开发人员记下onCreate方法中的开始时间并传递给库方法。 考虑到这种情况,有没有办法做到这一点?

用时区将Joda-Time`DateTime`转换为没有时区的DateTime?

给定DateTime例如2015-07-09T05:10:00+02:00使用Joda-Time ? 如何将其转换为本地时间,即将时区添加到时间本身。 期望的输出: 2015-07-09T07:10:00 我尝试了dateTime.toDateTime(DateTimeZone.UTC)但没有给出所需的结果。

用于UTC或带时区的时间戳的SQL标准

我正在寻找一种标准的SQL方法,以确保独立于数据库的列具有UTC时间戳或具有时区信息的时间戳。 在DB-column中存储时间戳UTC的UTC示例: 存储的UTC值= 2014-01-01 15:30:00.000 当地时间印度21:00 / 9pm当地时间戳“2014-01-01 21:00:00.000” 存储的UTC值= 2013-12-31 23:30:00.000 当地时间印度05:00 / 5am当地时间戳“2014-01-01 05:00:00.000” 在UTC方式中,应用程序必须处理时间分区 现在我不知道可能的方式,时间戳和时区具有上述值 存储的本地值= 2014-01-01 21:00:00.000 当地时间印度21:00 / 9pm当地时间戳“2014-01-01 21:00:00.000” 但是有时区信息吗? 或者如何获取此时间戳的时区信息? 存储的本地值= 2014-01-01 05:00:00.000 当地时间印度05:00 / 5am当地时间戳“2014-01-01 05:00:00.000” 但是有时区信息吗? 或者如何获取此时间戳的时区信息? 希望有人可以帮助我摆脱黑暗? 是否存在关于时间问题和存储数据以供国际应用的良好实践?

如何在没有时区的情况下打印日期?

我有一个移动应用程序,我捕获日期/时间并以毫秒为单位发送给servlet。 – 例如我在手机上午12:55捕获并将其发送到我的服务器 – 因此,我从发送的毫秒数构造日期并使用SimpleDateFormat打印它,但时间不同,它打印时间为早上8:55。 我知道问题是因为我使用了2个不同的时区,我的问题是:如何在不应用任何时区显示同一时间的情况下显示时间? 提前致谢