
T的含义是表示时间的开始;
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。
Java还剔除了C++的 *** 作符过载(overload)和多继承特征,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
面向对象
Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和 *** 纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和 *** 作数据的方法的集合。
数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。
Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(javaawt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(javaio包)和支持网络功能的类(javanet包)。
- (int)intervalSinceNow: (NSString ) theDate
{
NSDateFormatter date=[[NSDateFormatter alloc] init];
[date setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate d=[date dateFromString:theDate];
NSTimeInterval late=[d timeIntervalSince1970]1;
NSDate dat = [NSDate dateWithTimeIntervalSinceNow:0];
NSTimeInterval now=[dat timeIntervalSince1970]1;
NSString timeString=@"";
NSTimeInterval cha=now-late;
if (cha/86400>1)
{
timeString = [NSString stringWithFormat:@"%f", cha/86400];
timeString = [timeString substringToIndex:timeStringlength-7];
return [timeString intValue];
}
return -1;
}
上面的例子只是计算相差了几天
当然可以计算其他数值
cha/3600<1 分钟
if (cha/3600>1&&cha/86400<1) 小时
01
// 获取当前日期
02
NSDate date = [NSDate date];
03
04
// 打印结果: 当前时间 date = 2013-08-16 09:00:04 +0000
05
NSLog(@"当前时间 date = %@",date);
06
07
// 获取从某个日期开始往前或者往后多久的日期,此处60代表60秒,如果需要获取之前的,将60改为-60即可
08
date = [[NSDate alloc] initWithTimeInterval:60 sinceDate:[NSDate date]];
09
10
//打印结果:当前时间 往后60s的时间date = 2013-08-16 09:01:04 +0000
11
NSLog(@"当前时间 往后60s的时间date = %@",date);
PS:测试时时间是下午5点,但是得到的当前时间却是上午9点,相差了8小时,是时区的问题
解决办法:
1
NSTimeZone zone = [NSTimeZone systemTimeZone];
2
3
NSInteger interval = [zone secondsFromGMTForDate: date];
4
5
NSDate localDate = [date dateByAddingTimeInterval: interval];
6
7
// 打印结果 正确当前时间 localDate = 2013-08-16 17:01:04 +0000
8
NSLog(@"正确当前时间 localDate = %@",localDate);
import javatextSimpleDateFormat;
import javautilDate;
import javautilCalendar;
public class WorkDay {
public static void main(String[] args) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd E");
for (Date date : getWeekDay()) {
Systemoutprintln(dateFormatformat(date));
}
}
public static Date[] getWeekDay() {
Calendar calendar = CalendargetInstance();
while (calendarget(CalendarDAY_OF_WEEK) != CalendarMONDAY) {
calendaradd(CalendarDAY_OF_WEEK, -1);
}
Date[] dates = new Date[5];
for (int i = 0; i < 5; i++) {
dates[i] = calendargetTime();
calendaradd(CalendarDATE, 1);
}
return dates;
}
}
如果每周指的是从星期一开始,那么这个程序可以达到你的要求。
如果每周指得是从星期日开始,那么请说明,我再修改。
因为 LocalDate 被设计为不可变对象,这样的话每个修改当前 LocalDate 对象的方法(比如 plusDays),都会返回一个新的 LocalDate 对象,而原有的 LocalDate 对象不会发生改变。
以上就是关于JAVA时间 yyyy-MM-dd'T'HH:mm:ss.SSSZ 中的T是什么意思全部的内容,包括:JAVA时间 yyyy-MM-dd'T'HH:mm:ss.SSSZ 中的T是什么意思、怎么设定一个时间并转换成当前时间的timeInterval、java 获得本周一到周五的日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)