在Java中将23-Mar-2011转换为23-03-2011的最简单方法是什么?谢谢大家。这似乎解决了这个问题:try{Calendarcal=Calendar.getInstance();cal.setTime(newSimpleDateFormat("dd-MMM-yyyy").parse("24-Nov-2002"));SimpleDateFormatsdf=newSimpleDateFormat("dd-MM-yyyy");System.out.println(sdf.format(cal.getTime()));}catch(ParseExceptione){e.print
我想在Java中找出像27-04-2011这样的日期的日期。我试过用它,但它不起作用:Calendarcal=Calendar.getInstance();intval=cal.get(Calendar.DAY_OF_WEEK);它给出的是整数值,而不是我想要的字符串输出。我没有得到我想要的正确值。例如,它为日期28-02-2011提供了值4,它应该是2,因为星期日是第一个工作日。 最佳答案 是的,您已经问过星期几-2月28日是Monday,day2.请注意,在您提供的代码中,您实际上并没有在任何地方设置日期-它只是使用当前日期,即
谁能解释为什么我在尝试解析日期时会得到这些值?我尝试了三种不同的输入,如下所示:1)2013年第三周Datedate=newSimpleDateFormat("ww.yyyy").parse("02.2013");Calendarcal=Calendar.getInstance();cal.setTime(date);System.out.println(cal.get(Calendar.WEEK_OF_YEAR)+"."+cal.get(Calendar.YEAR));输出:02.2013(如我所料)2)2013年第一周Datedate=newSimpleDateFormat("ww
我有时间以毫秒为单位。1308700800000;我需要将其转换为类似Jun9'11at02:15PM的格式。我试过用SimpleDateFormatformat=newSimpleDateFormat("MMMD'\''YY");但我得到一个异常(exception):Causedby:java.lang.IllegalArgumentException:Unterminatedquote如有任何帮助,我们将不胜感激。 最佳答案 从异常消息中可以清楚地看出问题出在您的格式字符串上,尤其是单引号部分。查看documentation,
我正在使用以下模式和日期日期:2007年13月13日模式:dd-MM-yyyy输出:IST2008年1月13日星期日00:00:00要么2008-01-1300:00:00.0我期待这里出现异常。当给定日期不正确时,我该怎么做才能产生异常。 最佳答案 使用DateFormat.setLenient(false)告诉DateFormat/SimpleDateFormat您希望它是严格的。 关于java-SimpleDateFormat给出错误的日期而不是错误,我们在StackOverflo
我试图制作一个GWT应用程序。然后我在客户端和共享端中使用SimpleDateFormat类时遇到了一些错误。[ERROR][gwtfirst]Line381:Nosourcecodeisavailablefortypejava.text.SimpleDateFormat;didyouforgettoinheritarequiredmodule?以下是我在客户端的代码:SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Window.alert(sdf.format(usersList.get(30).getCre
我正在尝试使用SimpleDateFormat.parse()解析日期时间字符串,但我一直收到无法解析的日期异常。这是我要解析的日期格式:2011-10-06T12:00:00-08:00这是我使用的代码:try{StringdateStr="2011-10-06T12:00:00-08:00";SimpleDateFormatdateParser=newSimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");SimpleDateFormatdateFormatter=newSimpleDateFormat("MMMd,yyyy");Datedate=da
我喜欢将本地时间格式格式化为不带年份的字符串。目前我可以显示包含年份的本地格式:java.text.DateFormatdf=java.text.DateFormat.getDateInstance(java.text.DateFormat.SHORT);StringdateString=df.format(date);因此我收到一个时间字符串输出,如12.03.201203/12/2012针对不同的国家。现在我想得到一个简短的形式,比如12.03.03/12我该怎么做?感谢您的帮助! 最佳答案 您可以使用SimpleDateFor
我一直在调试一些单元测试在我的系统上失败的现有代码,但在同事的系统上却没有。根本原因是SimpleDateFormat在解析应该可解析的日期时抛出ParseExceptions。我创建了一个单元测试来演示在我的系统上失败的代码:importjava.text.DateFormat;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.TimeZone;importjunit.framework.TestCase;publicclassFor
Java7在SimpleDateFormat中引入了支持ISO8601格式的类,通过字符X(而不是小写或大写Z)。在Java6中支持此类格式需要预处理,因此最好的方法就是问题。这种新格式是Z的超集(大写Z),还有2个额外的变体:“分钟”字段是可选的(即,2位而不是4位时区有效)冒号字符(':')可用于将2位数字“小时”字段与2位数字“分钟”字段分隔开。因此,正如人们可以从Java7documentationofSimpleDateFormat观察到的那样,以下3种格式现在有效(而不是Java6中Z仅涵盖的第二种格式),当然,它们是等效的:-08-0800-08:00如earlierqu