有人可以建议当前的"最佳实践" Date和Calendar类型.
当编写新的代码,它是最好的总是青睐Calendar过Date,还是有地方的情况Date是比较合适的数据类型?
在java.util.Calendar,1月定义为第0个月,而不是第1个月.是否有任何具体原因?
我见过很多人对此感到困惑......
我正在构建一个自定义事件系统,如果你有一个如下所示的重复事件:
活动A从2011年3月3日起每4天重复一次
要么
活动B于2011年3月1日星期二每2周重复一次
如何以一种易于查找的方式将其存储在数据库中.如果有大量事件,我不希望出现性能问题,在渲染日历时我必须经历每一个事件.
在Java中,使用的性能和资源含义是什么
System.currentTimeMillis()
Run Code Online (Sandbox Code Playgroud)
与
new Date()
Run Code Online (Sandbox Code Playgroud)
与
Calendar.getInstance().getTime()
Run Code Online (Sandbox Code Playgroud)
据我了解,System.currentTimeMillis()是最有效的.但是,在大多数应用程序中,需要将该长值转换为Date或某些类似对象,以对人类执行任何有意义的操作.
我正在构建一个需要支持重复事件的组日历应用程序,但是我提出来处理这些事件的所有解决方案看起来都像是一个黑客.我可以限制前方可以看到的距离,然后立即生成所有事件.或者我可以将事件存储为重复,并在日历上向前看时动态显示它们,但如果有人想要更改特定事件实例的详细信息,我将不得不将它们转换为正常事件.
我确信有更好的方法可以做到这一点,但我还没有找到它.对重复事件建模的最佳方法是什么,您可以在其中更改特定事件实例的详细信息或删除特定事件实例?
(我正在使用Ruby,但请不要让这限制你的答案.如果有一个特定于Ruby的库或其他东西,那么,这很有用.)
如何将日历日期转换为yyyy-MM-dd格式.
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
Date date = cal.getTime();
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
String date1 = format1.format(date);
Date inActiveDate = null;
try {
inActiveDate = format1.parse(date1);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
这将产生inActiveDate = Wed Sep 26 00:00:00 IST 2012.但我需要的是2012-09-26.我的目的是使用Hibernate标准将此日期与我的数据库中的另一个日期进行比较.所以我需要yyyy-MM-dd格式化的日期对象.
所以我从表单中的传入对象获取日期属性:
Tue May 24 05:05:16 EDT 2011
Run Code Online (Sandbox Code Playgroud)
我正在编写一个简单的帮助方法将其转换为日历方法,我使用以下代码:
public static Calendar DateToCalendar(Date date )
{
Calendar cal = null;
try {
DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
date = (Date)formatter.parse(date.toString());
cal=Calendar.getInstance();
cal.setTime(date);
}
catch (ParseException e)
{
System.out.println("Exception :"+e);
}
return cal;
}
Run Code Online (Sandbox Code Playgroud)
为了模拟传入的对象,我只是在当前使用的代码中分配值:
private Date m_lastActivityDate = new Date();
Run Code Online (Sandbox Code Playgroud)
然而,一旦该方法到达,这将给我一个空指针:
date = (Date)formatter.parse(date.toString());
Run Code Online (Sandbox Code Playgroud) 有没有办法从自定义应用程序中将iCal事件添加到iPhone日历?
有人知道使用Java日历从日期中减去X天的简单方法吗?
我无法找到任何允许我直接从Java中的日期减去X天的函数.有人能指出我正确的方向吗?
我是Java新手,通常使用PHP.
我想转换这个字符串:
2011年3月14日星期四16:02:37 GMT
进入一个Calendar对象,这样我就可以像这样轻松地拉出Year和Month:
String yearAndMonth = cal.get(Calendar.YEAR)+cal.get(Calendar.MONTH);
Run Code Online (Sandbox Code Playgroud)
手动解析是不是一个坏主意?使用子字符串方法?
任何建议都会有所帮助!
calendar ×10
java ×7
date ×5
algorithm ×1
converter ×1
datetime ×1
eventkit ×1
ios ×1
iphone ×1
performance ×1
recurrence ×1
ruby ×1
subtraction ×1
time ×1