我试图将一个ISO 8601格式的string转换为一个java.util.Date。 如果与Locale(比较样本)一起使用,我发现模式“yyyy-MM-dd'T'HH:mm:ssZ”符合ISO8601标准。 但是,使用java.text.SimpleDateFormat,我不能转换格式正确的string“2010-01-01T12:00:00 + 01:00”。 我必须先将它转换为“2010-01-01T12:00:00 + 0100”,不用冒号。 所以,目前的解决scheme是 SimpleDateFormat ISO8601DATEFORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.GERMANY); String date = "2010-01-01T12:00:00+01:00".replaceAll("\\+0([0-9]){1}\\:00", "+0$100"); System.out.println(ISO8601DATEFORMAT.parse(date)); 这显然不是那么好。 我错过了什么或有更好的解决scheme吗? 回答 感谢JuanZe的评论,我发现了Joda-Time的魔法, 这里也有描述 。 所以,解决scheme是 DateTimeFormatter parser2 = ISODateTimeFormat.dateTimeNoMillis(); String jtdate = "2010-01-01T12:00:00+01:00"; System.out.println(parser2.parseDateTime(jtdate)); 或者更简单地说,通过构造函数使用默认的parsing器: DateTime dt = new DateTime( "2010-01-01T12:00:00+01:00" ) ; 对我来说,这很好。
我在Scala中使用Java的java.util.Date类,并想比较Date对象和当前时间。 我知道我可以通过使用getTime()来计算三angular洲: (new java.util.Date()).getTime() – oldDate.getTime() 但是,这只剩下一个long毫秒数。 有没有更简单,更好的方法来获得时间增量?
给定两个date范围,确定两个date范围是否重叠的最简单或最有效的方法是什么? 举一个例子,假设我们有由DateTimevariablesStartDate1到EndDate1 和 StartDate2到EndDate2 。
如何将JavaScriptdate对象格式化为“2010年8月10日”?
案例一: new Date(Date.parse("Jul 8, 2005")); 输出: 星期五Jul 08 2005 00:00:00 GMT-0700(PST) 案例二: new Date(Date.parse("2005-07-08")); 输出: 星期四07七月2005 17:00:00 GMT-0700(PST) 为什么第二个parsing不正确?
我读了关于使用比较器对ArrayLists进行sorting,但是在所有的例子中,人们使用了compareTo ,根据一些研究,这是一个Strings的方法。 我想通过其属性之一来sorting自定义对象的ArrayList:Date对象( getStartDay() )。 通常我通过item1.getStartDate().before(item2.getStartDate())比较他们item1.getStartDate().before(item2.getStartDate())所以我想知道我是否可以写这样的: public class CustomComparator { public boolean compare(Object object1, Object object2) { return object1.getStartDate().before(object2.getStartDate()); } } public class RandomName { … Collections.sort(Database.arrayList, new CustomComparator); … }
有人可以build议一种方法来比较两个date的值大于,小于,而不是在过去使用JavaScript? 这些值将来自文本框…
有人可以推荐最好的方式来转换格式'2010年1月2日'的string中的date在java? 最终,我想把整个月份,每天,每一年作为整数,以便我可以使用: Date date = new Date(); date.setMonth().. date.setYear().. date.setDay().. date.setlong currentTime = date.getTime(); 将date转换为时间。
我注意到JavaScript的new Date()函数在接受多种格式的date方面非常聪明。 Xmas95 = new Date("25 Dec, 1995 23:15:00") Xmas95 = new Date("2009 06 12,12:52:39") Xmas95 = new Date("20 09 2006,12:52:39") 在调用new Date()函数时,我无法在任何地方find显示所有有效string格式的文档。 这是将string转换为date。 如果我们看另一面,也就是将date对象转换为string,直到现在,我还是觉得JavaScript没有内置API来将date对象格式化为string。 编者注:以下方法是提问者在特定浏览器上的尝试,但一般不起作用; 看到在这个页面上的答案 ,看到一些实际的解决scheme。 今天,我在date对象上使用了toString()方法,而且令人惊讶的是,它将date格式化为string。 var d1 = new Date(); d1.toString('yyyy-MM-dd'); //Returns "2009-06-29" in Internet Explorer, but not Firefox or Chrome d1.toString('dddd, MMMM ,yyyy') //Returns "Monday, June 29,2009" in Internet Explorer, […]
有一种简单的方法来在PHP中将一个date格式转换成另一种date格式? 我有这个: $old_date = date('ymdhi-s'); // works $middle = strtotime($old_date); // returns bool(false) $new_date = date('Ymd H:i:s', $middle); // returns 1970-01-01 00:00:00 但我当然希望它能够返回一个当前的date而不是破晓时分。 我究竟做错了什么?