在java语言中,用如下方法获取系统时间:
Date date = new Date();
String year=new SimpleDateFormat("yyyy").format(date);
String month=new SimpleDateFormat("MM").format(date);
String day=new SimpleDateFormat("dd").format(date);
这样是分别获取String形式的四位年两位月两位日。比如今天就是“2009”和“08”和“05”
当然也可以这样写:String dateString=new SimpleDateFormat("yyyy-MM-dd").format(new Date());这样写就会获得“2009-08-05”的字符串。注意M大写,其他小写。如果要详细时间,括号中改成"yyyy-MM-dd hh-mm-ss"。HH大写为24小时制,小写为12小时制。
另外值得注意的一点是,在sql server数据库中,例如某字段time为smalldatetime数据格式,可以将它与字符串比较 比如:....where time>'20090604' 和:....where time>'2009-06-04' 都是正确的。都是表示搜索2009年6月4日0点0时0分以后的信息。但是这个以字符串表示的时间必须是真实存在的,不可以出现'2009-02-29'的状况。因为没有29日,在String向smalldatetime数据类型转换的时候发生异常。
但是在类似论坛发帖的功能中,常常会从数据库中获取一周前,一个月前的数据,我在JAVA中写了这样的方法,(貌似)是对的~有用的可以拿去用……
//获得一周前的日期
public String lastWeek(){
Date date = new Date();
int year=Integer.parseInt(new SimpleDateFormat("yyyy").format(date));
int month=Integer.parseInt(new SimpleDateFormat("MM").format(date));
int day=Integer.parseInt(new SimpleDateFormat("dd").format(date))-6;
if(day<1){
month-=1;
if(month==0){
year-=1;month=12;
}
if(month==4||month==6||month==9||month==11){
day=30+day;
}else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
{
day=31+day;
}else if(month==2){
if(year%400==0||(year %4==0&&year%100!=0))day=29+day;
else day=28+day;
}
}
String y = year+"";String m ="";String d ="";
if(month<10) m = "0"+month;
else m=month+"";
if(day<10) d = "0"+day;
else d = day+"";
return y+m+d;
}
//获得一月前的日期
public String lastMonth(){
Date date = new Date();
int year=Integer.parseInt(new SimpleDateFormat("yyyy").format(date));
int month=Integer.parseInt(new SimpleDateFormat("MM").format(date))-1;
int day=Integer.parseInt(new SimpleDateFormat("dd").format(date));
if(month==0){
year-=1;month=12;
}
else if(day>28){
if(month==2){
if(year%400==0||(year %4==0&&year%100!=0)){
day=29;
}else day=28;
}else if((month==4||month==6||month==9||month==11)&&day==31)
{
day=30;
}
}
String y = year+"";String m ="";String d ="";
if(month<10) m = "0"+month;
else m=month+"";
if(day<10) d = "0"+day;
else d = day+"";
return y+m+d;
}
相关推荐
JAVA时间工具类(计算法定工作日工时):计算某个日期加上几个工作日后的一个工作日期(除周末和法定节假日),计算某个日期后一天的工作日期(除周末和法定节假日),计算两个日期的真实工作日(除周末和法定节假日),...
运用java1.8的LocalDateTime和TemporalAdjusters等方法,通过指定的时间段获得整年、整月、整周整日、整小时的数据,并且还可以根据月、周、日、小时进行细化分隔,绝对的可以运行。
自学Date类(java.util.Date)和SimpleDateFormat类,用程序输出“当前时间是XXXX年XX月XX日XX时XX分XX秒(第XX周,周X)” 2 比较String与StringBuffer、StringBuilder的自增速度。方法:在自增前记录系统时间,...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 ...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 ...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5...
根据员工的相关信息,计算其每天所需热量,给出一周的推荐菜单。 (3)员工健康日志: 用户可以记录自己健康日记,记录每一天的睡眠,饮酒,吸烟,血压,体重等情况。 (4)员工体检管理: 员工可通过该平台查询每次...
按小时计算停车费用的方法(停车在36小时之内)(计费方法:凌晨6点开始-至晚上8点:第一个15分钟免费,六小时内每15分钟1.5元,6后小时每15分钟2块,晚上8点以后每小时0.5元钱) 按月计费的方法(每月800元) ...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 关系运算符 13 实例7 逻辑...
只需21天的时间,便可具备使用Java,-发运行在计算机中的应用程序、运行在Web服,务器中的se rvlet,以及通过浏览器启动的Java Web Start应用程序的知识和技能。 无需任何编程经验。按本书精心组织的21个课程进行学习...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 ...
薪资申请Java2周2 这是我为 JAVA PROGRAMMING II 分配的第一个个人作业。 以下是任务要求: 雇主正在寻找一种更简单的方法来跟踪员工薪酬。 设计、实施、测试和调试应用程序来计算员工的每周工资。 如果雇员每周工作...
在设计中我们发现这样一个事实,一个用户或管理员在登陆这个网站时一般来讲只对 该网站的部分内容感性趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根 据用户活管理员的喜好为不同的用户显示其个性化的...
显示任意一个月份的日历(>1900)(一周一行,要有月名、表头和横线。 按列右对齐, 用String.format("%1$ 4d",intNumber)可以将任意整数intNumber格式化成前面补"空格"的4位定长字符串) 3.显示出任一年份的日历(>...
折腾了一周的Java Quartz已完成任务调度,很遗憾没能搞定,网上的相关文章也少得可怜,在多计数器(多进程)环境下Quartz似乎无法动态增减任务,恼火。一个简单的任务调度器,结果只花了不到2天时间,而且感觉非常...
根据教师的相关信息,计算其每天所需热量,给出一周的推荐菜单。 (3)教师健康日志: 用户可以记录自己健康日记,记录每一天的睡眠,饮酒,吸烟,血压,体重等情况。 (4)教师体检管理: 教师可通过该平台...
根据教师的相关信息,计算其每天所需热量,给出一周的推荐菜单。 (3)教师健康日志: 用户可以记录自己健康日记,记录每一天的睡眠,饮酒,吸烟,血压,体重等情况。 (4)教师体检管理: 教师可通过该平台...
无需等待数周或数月的硬件,您可以立即部署新应用程序,随着工作负载的增长立即扩展,并根据需求立即缩减。 无论您需要一台虚拟服务器还是数千台虚拟服务器,无论您需要几个小时还是 24/7,您仍然只需为使用的内容...
他们将根据一周中的一天和一天中的时间支付工作时间。 建议的解决方案 Java提供了一组检查日期和时间的工具,因此请使用java.time包中的组件来执行那些验证。 通常,我使用带有模板模式的“策略模式”来执行操作以...