Tag: date

Android – SQLite – 选择BETWEEN Date1和Date2

Mac OS-X Android的 Eclipse与ADT SQLite的 我是创建Android应用程序的新手,我对此进行了大量研究,但我无处可去。 我需要查询我的SQLite数据库以返回2个日期之间的所有行。 到目前为止,我从我的研究中学到的是Androids SQLite数据库中没有DateTime列,我必须将其保存为文本列。 但我认为问题在于尝试比较字符串,但我无法找到解决方法。 这是我的代码: DB = currentContext.openOrCreateDatabase(DBName, 0, null); DB.execSQL(“CREATE TABLE IF NOT EXISTS ” + tableName + ” (ID INTEGER PRIMARY KEY AUTOINCREMENT, Date VARCHAR(40), Hours INT(3));”); 我没有收到任何错误,但我没有从RawQuery返回任何结果。 这是我的代码: Cursor c = newDB.rawQuery(“select ID, Date, Hours from ” + tableName + ” where Date BETWEEN ‘” + […]

JDBC:将日期值插入MySQL

我想知道如何使用Java JDBC将Date值设置为MySQL数据库。 以下是我的代码。 String lastCrawlDate = “2014-01-28” PreparedStatement p = con.prepareStatement(“insert into JsonData (last_crawl_date) values(?))”); p.setDate(1, Date.valueOf(lastCrawlDate)); 如您所见, lastCrawlDate是一个String ,格式为yyyy/mm/dd 。 以下是我的表格如何以及如何定义Date字段。 我怎样才能做到这一点?

解析字符串到日期

我要解析的字符串: 太阳11月10日10:00:00 CET 2013 我的代码: substrings = “Sun Nov 10 10:00:00 CET 2013” SimpleDateFormat parserSDF = new SimpleDateFormat(“EEE MMM d HH:mm:ss ZZZ yyyy”); Date date = parserSDF.parse(substrings); 编译错误输出: java.text.ParseException:Unparseable date:“Sun Nov 10 10:00:00 CET 2013”​​at java.text.DateFormat.parse(Unknown Source)…

SimpleDateFormat方法解析中可能出现的错误

我收到一个表示日期的字符串,我需要将此字符串转换为日期,并validation字符串是否为有效日期。 我收到字符串33-12-2013一个解析方法返回日期01-01-2014,代码: Date fechaVencimientoFormateada; SimpleDateFormat formateador = new SimpleDateFormat( “dd-MM-yyyy” ); try { fechaVencimientoFormateada = formateador.parse( “33-12-2013” ); System.out.println( formateador.format(fechaVencimientoFormateada) ); } catch ( ParseException e ) { System.out.println(“ERROR!”); } 输出:2014年1月2日00:00:00 COT 2014 我期待一个ParseException,任何想法? 和其他例子: 字符串日期:365-12-2013输出:2014年11月30日00:00:00 COT 2014 字符串日期:1-24-2013输出:2014年12月1日00:00:00 COT 2014 为什么ParseException不抛?

在java中将dateTime转换为dd / MM / yy格式的日期

我有一个JODA DateTime 2012-12-31T13:32:56.483+13:00 。 我想以dd/MM/yy格式将其转换为Date。 所以我期待代码返回日期,如 – 2012年12月31日。 代码 – // Input dateTime = 2012-12-31T13:32:56.483+13:00 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(“dd/MM/yy”); Date date = simpleDateFormat.parse(dateTime.toString(“dd/MM/yy”)); 结果: Output – Mon Dec 31 00:00:00 NZDT 2012 Expected Output – 31/12/12 当我执行以下操作时,我得到了预期的输出,但我不知道如何将其转换为Date- String string = simpleDateFormat.format(date); 请帮帮我。 谢谢 编辑 – 我希望我的最终结果是以dd / MM / yy格式的Util Date。 我不想要String输出。 我的输入是Joda DateTime […]

为什么java.util.Date将Year表示为“year-1900”?

在java.util.Date : * In all methods of class Date that accept or return * year, month, date, hours, minutes, and seconds values, the * following representations are used: * * A year y is represented by the integer * y-1900. 当然,在Java 1.1中,不推荐使用getYear()方法等来支持java.util.Calendar ,它仍然有这个奇怪的弃用注释: int getYear() Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.YEAR) – […]

如何从ISO 8601格式字符串中选择时区到日历实例中

作为输入,我有一个字符串,它是ISO 8601中表示日期的字符串。 例如: “2017-04-04T09:00:00-08:00” String的最后一部分,即“-08:00”表示TimeZone Offset。 我将此字符串转换为Calendar实例,如下所示: Calendar calendar = GregorianCalendar.getInstance(); Date date = new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss’Z'”, Locale.US).parse(iso8601Date); calendar.setTime(date); iso8601Date是“2017-04-04T09:00:00-08:00” 但这并没有选择时区,如果我从Calendar实例获取时区,它会提供当前设置的笔记本电脑实例,并且不会从ISO 8601字符串中获取时间戳。 我通过日历实例检查时区为: calendar.getTimeZone().getDisplayName() 有人可以在Calendar实例中显示如何选择时区吗?

来自java的日期格式问题

我从joynet cloud api服务器获取日期格式: 2012-11-20T10:26:04+00:00″ 但是,我不知道处理最后一段+00:00 ,我已经制作了除+00:00之外的格式 SimpleDateFormat fmt = new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss”); Date date = fmt.parse(“2012-11-20T10:26:04”); 谢谢@Abu 我重写它以删除“:”, SimpleDateFormat fmt = new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ssZ”); String input = “2012-11-20T10:25:58+00:00”; String s1 = input.split(“T”)[0]; String s2 = input.split(“T”)[1]; String sep = null; if (s2.contains(“+”)) { sep = “+”; } if (s2.contains(“-“)) { sep = “-“; } String s3 = […]

日历以错误的时区返回日期

如果我在GMT时区的计算机上执行以下操作 TimeZone timeZone = TimeZone.getTimeZone(‘IST’); // India Standard Time Calendar calendar = Calendar.getInstance(timeZone); System.out.println(calendar.getTime()); 它打印 10月31日星期五15:18:22 GMT 2014 为什么日期打印在计算机的默认时区,而不是Calendar构建的TimeZone ?

Java和多SQL RDBMS之间的一周计算差异

我必须做一些报告,并且必须在Java和MySQL的任何日期计算周,但它们有不同的算法。 首先,请注意,通过一些方法,在某一年结束的某些日子里,是明年的第一周。 示例:2012-12-31是2013年的第1周(我不记得确切的年份,但它就是这样)。 所以我必须计算一个约会的正确的一周 在Java中 ,它基于2个标准取决于区域设置: 一周的第一天(周日或周一) 第一周的最短日期(1或4) Calendar cal = Calendar.getInstance(); int javaWeek = cal.get(Calendar.WEEK_OF_YEAR); int weekYear = cal.getWeekYear(); 在MySQL中 ,它基于2个标准依赖于模式 (0到7): 一周的第一天(星期日或星期一)(Java中也是如此) 第一周的最小天数是4或第一周包含一周的第一天 SELECT WEEK(‘2012-12-12’, 1); SELECT YEARWEEK(‘2012-12-12’, 1); 在MySQL中,有些模式会计算一周有奇怪的结果,例如,一年有0周只有1天,其他几周有7天(我认为第1周真的是第一周,第0周是前周或某事)。 我会忽略这些模式 场景是:我在Java中计算了我的系统区域设置(带有设置的区域设置: getFirstDayOfWeek()==SUNDAY和getMinimalDaysInFirstWeek==1 )的日期基础列表的周,我想在MySQL中使用相同的结果进行计算 但我在MySQL中尝试所有8种模式,没有匹配。 我失败了,因为在MySQL中没有第一周最小日的模式计算基础是1(只有一些模式有4),所以我手动设置setMinimalDaysInFirstWeek(4)并且MySQL中的模式6与Java中的结果匹配 (我必须编写测试,比较Java和MySQL中2年内每天的结果) 所以我的解决方案是,我必须修复 setMinimalDaysInFirstWeek(4) ,如果getFirstDayOfWeek()是MONDAY,我在MySQL中选择模式3,如果getFirstDayOfWeek()是SUNDAY,我在MySQL中选择模式6。 我认为这只是一个临时解决方案而且非常奇怪。 还有一个问题,我真的害怕如果我的系统从MySQL变为其他RDBMS,它将有其他方法而我无法处理所有这些(Oracle中的示例没有WEEKfunction)。 那么有什么方法让calc周满足很多RDBMS? 我有一个想法是在一个平台(Java或MySQL)中的calc周,然后将结果传递给另一个: 如果从Java传递到MySQL,我将结果传递给查询字符串,或者构建一个包含我的结果的表 如果从MySQL传递到Java,我必须编写一个从Java调用它的过程,并且必须解决问题“找到计算方法满足许多RDBMS的方法” 但我必须计算一个大量的日期,这些都不满足我,任何人都有想法解决我的问题?