有人可以告诉我,以下两个陈述之间的区别是什么:
TimeZone.getTimeZone("America/New_York")
Run Code Online (Sandbox Code Playgroud)
和
TimeZone.getTimeZone("EST")
Run Code Online (Sandbox Code Playgroud)
换句话说,为什么EST与America/New_York不同.同样在我的应用程序中,要获得美国当前时区,我应该使用America/New_York还是EST.
如果您的任务是构建支持重复事件的事件调度系统,您将如何做?如何删除定期活动时的处理方式?你怎么能看到未来事件何时发生?
即在创建活动时,您可以选择"每日重复"(或每周,每年等).
请回复一个设计.我已经习惯了Ruby/Rails,但是使用你想表达设计的任何东西.
我在接受采访时被问到这个问题,并且无法提出我喜欢的非常好的回复.
注意:这里已经被问到/已经回答了.但我希望得到一些更实用的细节,详情如下:
我想写一个日历应用程序.对于数据库架构来说,这是一个经常出现的问题.我想知道如何组织这个的一些意见.
如果用户创建了一个事件,并且输入它会在周一重复所有人,那会怎么样?我怎么能将所有这些存储在数据库中?我不能创造无限的事件.我只是在那里放一张包含相关信息的表格,以便我可以计算所有事件的去向吗?如果是这样,每次用户查看日历的新部分时,我都必须计算它们.如果他们翻了几个月,但他们有大量的经常性项目怎么办?
此外,架构需要处理用户单击某个项目并在序列中显示"在序列中编辑此项目"而不是序列中的所有项目.然后我将一个项目从序列中分离出来吗?
更新1
我根本没看过iCal.为了清楚起见,我认为保存允许您计算重复项目的信息,并将任何与序列不同的信息拆分是一种很好的方式来存储它以便能够传输它.但我认为在一个应用程序中,这将太慢,无法在所有地方进行日期数学运算.
根据Java API,构造函数Date(year, month, day)是折旧的.我知道我可以用以下代码替换它:
Calendar myCal = Calendar.getInstance();
myCal.set(Calendar.YEAR, theYear);
myCal.set(Calendar.MONTH, theMonth);
myCal.set(Calendar.DAY_OF_MONTH, theDay);
Date theDate = myCal.getTime();
Run Code Online (Sandbox Code Playgroud)
但是,我想用更短的东西替换它(理想情况下是一到两行).
我怎么能转换unix时间印度教日历维基百科的时间和其他方式轮php,Perl或Python或Java?我知道我可以转换为Hebrew和Jewish.但Hindu不是一种选择.
更具体地说,我在谈论印度教的农历.以下网站正在运作,正是我想要的:http://web.meson.org/calendars/.例如,它将28-1-2012(格里高利)翻译成5-11-2068(Hind.Lun.).我怎样才能完成同样的任务?如果那里绝对没有抄写,我怎么能自己写呢?
我试图进入和离开ToDate之前的日期,FromDate并将有当月的第一个日期.对于一月它会是1/1/2013等等.如何正确获取当月的第一个日期?我无法做到.
today.add(Calendar.DAY_OF_MONTH, -1);
java.util.Date previousDay=today.getTime();
ToDate = sdfFile1.format(newjava.sql.Date(previousDay.getTime()));
today.add(Calendar.DATE, 1);
java.util.Date nextDay=today.getTime();
FromDate = sdfFile1.format(new java.sql.Date(nextDay.getTime()));
Run Code Online (Sandbox Code Playgroud) 现在我正在使用此代码
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DATE) - 1, 12, 0, 0); //Sets Calendar to "yeserday, 12am"
if(sdf.format(getDateFromLine(line)).equals(sdf.format(cal.getTime()))) //getDateFromLine() returns a Date Object that is always at 12pm
{...CODE
Run Code Online (Sandbox Code Playgroud)
必须有一种更平滑的方法来检查getdateFromLine()返回的日期是否是昨天的日期.只有日期很重要,而不是时间.这就是我使用SimpleDateFormat的原因.感谢您的帮助!
有没有人知道是否有办法在NSCalendar上设置一周的第一天,或者是否有一个日历已经将星期一作为一周的第一天而不是星期日.我目前正在开发一款基于一周工作量的应用程序,它需要在星期一而不是星期天开始.我很可能会做一些工作来解决这个问题,但会有很多极端情况.我更喜欢平台为我做这件事.
提前致谢
这是我正在使用的一些代码.现在是星期六,所以我希望工作日是6而不是7,这意味着星期日将是7而不是0到0
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[gregorian setFirstWeekday:0];
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekCalendarUnit | NSWeekdayCalendarUnit;
NSDateComponents *todaysDate = [gregorian components:unitFlags fromDate:[NSDate date]];
int dayOfWeek = todaysDate.weekday;
Run Code Online (Sandbox Code Playgroud) 我在将字符串日期解析为Date对象时遇到了一些麻烦.我用a DateFormat来解析字符串,当我打印日期的值时,它给了我期望的东西.
但是,当我尝试得到一天,一个月或一年时,它给了我错误的价值.例如,这一年是2011年,但是当我这样做时,.getYear()它给了我111.我不知道为什么会这样.以下是相关的代码段:
Date dateFrom = null;
String gDFString = g.getDateFrom();
System.out.println(gDFString);
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
try {
dateFrom = df.parse("04/12/2011");
System.out.println(dateFrom);
System.out.println(dateFrom.getYear());
} catch (ParseException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
当我打印出来时dateFrom,我得到了Sun Dec 04 00:00:00 GMT 2011,这就是你所期望的.但打印.getYear()回报111.
我需要能够获得时间序列图的日期,月份和年份.