例如:
Calendar c = Calendar.getInstance();
DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
c.setTime( sdf.parse("31/12/2010"));
out.println( c.get( Calendar.WEEK_OF_YEAR ) );
Run Code Online (Sandbox Code Playgroud)
打印1
Joda时间也是如此.
:)
此代码的作用是打印当周从星期一到星期五的日期.它工作正常,但我想问别的:如果今天是星期六或星期日,我希望它显示下周.我怎么做?
到目前为止,这是我的工作代码(感谢StackOverflow !!):
// Get calendar set to current date and time
Calendar c = Calendar.getInstance();
// Set the calendar to monday of the current week
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
// Print dates of the current week starting on Monday to Friday
DateFormat df = new SimpleDateFormat("EEE dd/MM/yyyy");
for (int i = 0; i <= 4; i++) {
System.out.println(df.format(c.getTime()));
c.add(Calendar.DATE, 1);
}
Run Code Online (Sandbox Code Playgroud)
非常感谢!我真的很感激,因为我一直在寻找解决方案......
寻找一些我正在研究的Java代码的帮助,我有以下代码打印出日期和时间:
Date dNow = new Date( ); // Instantiate a Date object
SimpleDateFormat ft = new SimpleDateFormat ("MMM d, yyyy k:mm:ss"); // Time at server
Run Code Online (Sandbox Code Playgroud)
结果:2013年3月15日10:19:48
我正在创建一个javascript计数器,从这个数字开始工作,从5分钟开始倒计时.所以我需要在Java中添加5分钟到当前日期时间.
因此,如果当前日期时间是:2013年3月15日10:19:48
我需要在Java上添加5分钟,以便打印出来:2013年3月15日10:24:48
有任何想法吗?
最简单的方法:
String[] namesOfDays = new String[7] {
"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"
};
Run Code Online (Sandbox Code Playgroud)
此方法不使用Locale.因此,如果系统的语言不是英语,则此方法无法正常工作.
使用Joda时间,我们可以这样做:
String[] namesOfDays = new String[7];
LocalDate now = new LocalDate();
for (int i=0; i<7; i++) {
/* DateTimeConstants.MONDAY = 1, TUESDAY = 2, ..., SUNDAY = 7 */
namesOfDays[i] = now.withDayOfWeek((DateTimeConstants.SUNDAY + i - 1) % 7 + 1)
.dayOfWeek().getAsShortText();
}
Run Code Online (Sandbox Code Playgroud)
但是,此方法使用今天的日期和日历计算,这对于最终目的而言是无用的.而且,它有点复杂.
是否有一个简单的方法来得到这样的字符串"Sun","Mon",...,"Sat"用系统的默认语言环境?
我需要比较java中的两个日期.我正在使用这样的代码:
Date questionDate = question.getStartDate();
Date today = new Date();
if(today.equals(questionDate)){
System.out.println("Both are equals");
}
Run Code Online (Sandbox Code Playgroud)
这不起作用.变量的内容如下:
questionDate 包含 2010-06-30 00:31:40.0 today 包含 Wed Jun 30 01:41:25 IST 2010我该如何解决这个问题?
我正在尝试解析从HTML5 datetime输入字段返回的值作为值.在Opera中试一试看一个例子.返回的日期如下:2011-05-03T11:58:01Z.
我想将其解析为Java Date或Calendar Object.
理想情况下,解决方案应该包含以下内容:
我们有一个实用工具,将在周一至周五之间的任何一天运行.它将更新内容管理工具中的一些文件.与该文件关联的最后修改日期应该是该周的星期一日期.我编写了以下程序来检索当前周的星期一日期.但我仍然不确定这是否适用于所有情况.有没有人有更好的解决方案?
Calendar c = Calendar.getInstance();
c.setTime(new Date());
System.out.println(c.get(Calendar.DAY_OF_MONTH));
System.out.println(c.get(Calendar.DAY_OF_WEEK));
int mondayNo = c.get(Calendar.DAY_OF_MONTH)-c.get(Calendar.DAY_OF_WEEK)+2;
c.set(Calendar.DAY_OF_MONTH,mondayNo);
System.out.println("Date "+c.getTime());
Run Code Online (Sandbox Code Playgroud) 我正在开发一个与Android相关的学习项目.我想通过使用下面的代码来获取当前年份和月份,但它不适用于我.
GregorianCalendar gc = new GregorianCalendar();
gc.YEAR // returning 1
gc.MONTH // returning 2
Calendar c = Calendar.getInstance();
c.YEAR // returning 1
c.MONTH // returning 2
Run Code Online (Sandbox Code Playgroud)
有人能帮我吗?难道我做错了什么?请原谅我,我是java开发的新手.谢谢.
有一个创建仅限时间的Date对象的函数.(为什么这是必需的是一个长篇故事,在这种情况下是无关紧要的,但我需要与XML世界中的一些东西进行比较,其中TIME(即仅时间)是一个有效的概念).
private static final SimpleDateFormat DF_TIMEONLY = new SimpleDateFormat("HH:mm:ss.SSSZ");
public static Date getCurrentTimeOnly() {
String onlyTimeStr = DF_TIMEONLY.format(new Date()); // line #5
Date onlyTimeDt = null;
try {
onlyTimeDt = DF_TIMEONLY.parse(onlyTimeStr); // line #8
} catch (ParseException ex) {
// can never happen (you would think!)
}
return onlyTimeDt;
}
Run Code Online (Sandbox Code Playgroud)
可能至少有几种方法可以在Java中创建一个仅限日期的日期(或者更确切地说,日期部分是1970-01-01),但我的问题实际上并非如此.
我的问题是这段代码在生产运行很长时间后开始在#8行上随机抛出NumberFormatException.从技术上讲,我会说这应该是不可能的,对吧?
以下是来自上面一段代码的随机NumberFormatExceptions的摘录:
java.lang.NumberFormatException: multiple points
java.lang.NumberFormatException: For input string: ".11331133EE22"
java.lang.NumberFormatException: For input string: "880044E.3880044"
java.lang.NumberFormatException: For input string: "880044E.3880044E3"
Run Code Online (Sandbox Code Playgroud)
首先,我希望我们能够正式认为这应该是不可能的吗?代码使用相同的format(DF_TIMEONLY)作为输出然后输入.如果你不同意它应该是不可能的,请告诉我.
我无法在独立环境中重新生成问题.当JVM运行很长时间(> 1周)时,问题似乎就出现了.我无法找到问题的模式,即夏令时/冬令时,上午/下午等.错误是零星的,这意味着一分钟它将抛出NumberFormatException,下一分钟它将运行正常. …
有没有人知道不同语言/区域设置的好日期解析器.Java(SimpleDateFormat)的内置解析器非常严格.它应该用当前日期完成缺失的部分.
例如
编辑:我想解析用户的输入.例如,如果用户的区域设置日期格式为"dd.mm.yyyy",并且用户仅键入"12.11".那么解析器应该接受它作为值为"12.11.2008"的有效日期.目标是良好的可用性.