我需要毫秒的当前时间,然后以12小时的格式存储它,但是用这段代码我得到24小时格式化的时间。 long timeInMillis = System.currentTimeMillis(); Calendar cal1 = Calendar.getInstance(); cal1.setTimeInMillis(timeInMillis); SimpleDateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy HH:mm:ss a"); dateforrow = dateFormat.format(cal1.getTime()); 有人可以build议修改,以获得预期的结果吗?
码: SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss z"); sdf.setTimeZone(TimeZone.getTimeZone("GMT")); System.out.println(new Date()); try { String d = sdf.format(new Date()); System.out.println(d); System.out.println(sdf.parse(d)); } catch (Exception e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } 输出: Thu Aug 08 17:26:32 GMT+08:00 2013 2013.08.08 09:26:32 GMT Thu Aug 08 17:26:32 GMT+08:00 […]
我想知道为什么'Y'返回2012年,而'y'在SimpleDateFormat返回2011年: System.out.println(new SimpleDateFormat("Y").format(new Date())); // prints 2012 System.out.println(new SimpleDateFormat("y").format(new Date())); // prints 2011 任何人都可以解释为什么?
我试过了 DateFormat fmt = new SimpleDateFormat("MMMM dd, yyyy"); Date d = fmt.parse("June 27, 2007"); Exception in thread "main" java.text.ParseException: Unparseable date: "June 27, 2007" java文档说我应该使用四个字符来匹配完整的表单。 我只能成功使用像“君”这样的缩短月份的MMM,但我需要匹配完整的表单。 文本:格式化时,如果模式字母的数量是4或更多,则使用完整格式; 否则使用简短或缩写forms。 对于parsing,这两种forms都被接受,与模式字母的数量无关。 http://java.sun.com/j2se/1.6.0/docs/api/java/text/SimpleDateFormat.html
我有GregorianCalendar实例,需要使用SimpleDateFormat(或者可以用于日历,但提供所需的#fromat()function)来获得所需的输出。 请build议解决方法和永久解决scheme一样好。
我想基于给定的语言环境以不同的方式在Java中格式化date。 例如,我想让英文用户看到“2009年11月1日”(格式为“MMM d,yyyy”),挪威用户看到“2009年1月1日”(“d。MMM。yyyy”)。 如果我将该语言环境添加到SimpleDateFormat构造函数,那么月份部分工作正常,但其余部分呢? 我希望我可以添加与语言环境配对的格式string到SimpleDateFormat,但我找不到任何方式来做到这一点。 是否有可能或者我需要让我的代码检查语言环境,并添加相应的格式string?
是否可以在SimpleDateFormat模式string中包含字母字符? 我正在尝试创build一个格式化string,其中字母“T”包含在时间之前,例如: 2003-11-15 T 09:30:47-05:00 我目前使用yyyy-MM-ddhh:mm:ssZ作为模式string。 如果我将其更改为yyyy-MM-ddThh:mm:ssZ ,它将抛出一个exception,因为“A”到“Z”和“a”到“z”被保留。 有什么解决scheme不涉及使用两个DateFormats?
我有SimpleDateFormat构造函数 SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") 我正在parsingstring"2013-09-29T18:46:19Z". 我已经读过,这里Z代表GMT/UTC时区。 但是当我在控制台上打印这个date,它打印返回date的IST时间。 现在我的问题是,我的输出是对还是错?
我有这个date对象: SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd HH:mm"); Date d1 = df.parse(interviewList.get(37).getTime()); d1的值是Fri Jan 07 17:40:00 PKT 2011 现在我正在尝试在上面的date添加10分钟。 Calendar cal = Calendar.getInstance(); cal.setTime(d1); cal.add(Calendar.MINUTE, 10); String newTime = df.format(cal.getTime()); 新时间的价值改变2011-50-07 17:50但应该是07-01-2011 17:50 。 它正确添加分钟,但它也改变了一个月,不知道为什么!
我知道date格式如 "yyyy-mm-dd" – 以格式2011-02-26显示date "yyyy-MMM-dd" – 以格式2011-FEB-26显示date 用于例如: SimpleDateFormat formatter = new SimpleDateFormat( "yyyy/MMM/dd "); 我想要一个能够帮助我像2011-02-MON或其他东西一样显示星期几的格式。 我只想让一周中的某一天以月份和年份的字符显示。 你能告诉我这样的格式吗?