Java技巧-日期

1.String mydate = "2013-08-29T00:00:00+08:00 ";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
java.util.Date date = sdf.parse(mydate);
mydate = "";
mydate += 1900+date.getYear()+"-";
mydate += 1+date.getMonth()+"-";
mydate += date.getDate();
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println(mydate);
//或者
System.out.println(sdf.format(date));

2

Java Calendar获取年、月、日、时间

  Calendar Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));    //获取东八区时间

  int year c.get(Calendar.YEAR);    //获取年
  int month c.get(Calendar.MONTH) 1;   //获取月份,0表示1月份
  int day c.get(Calendar.DAY_OF_MONTH);    //获取当前天数
  int first c.getActualMinimum(c.DAY_OF_MONTH);    //获取本月最小天数
  int last c.getActualMaximum(c.DAY_OF_MONTH);    //获取本月最大天数
  int time c.get(Calendar.HOUR_OF_DAY);       //获取当前小时
  int min c.get(Calendar.MINUTE);          //获取当前分钟
  int xx c.get(Calendar.SECOND);          //获取当前秒

 

  SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  String curDate s.format(c.getTime());  //当前日期
  System.out.println("当前时间:"+year "-" month "-"+ day "+time ":" min +":" xx);
  System.out.println("第一天和最后天:" first +"," last);

  System.out.println("当前日期curDate====:" curDate);

 

输出结果:

当前时间:2012-9-25 22:50:54
第一天和最后天:1,30

当前日期curDate:2012-09-25 22:50:54

 

Calendar的计算

  c.add(Calendar.YEAR, 1);
  c.add(Calendar.MONTH, 1);
  c.add(Calendar.DAY_OF_MONTH, 1);
  int year2 c.get(Calendar.YEAR);
  int month2 c.get(Calendar.MONTH) 1;
  int day2 c.get(Calendar.DAY_OF_MONTH);
  int firstD c.getActualMinimum(c.DAY_OF_MONTH);
  int lastD c.getActualMaximum(c.DAY_OF_MONTH);
  System.out.println("当前时间:"+year2 "-" month2 "-"+ day2 "+time ":" min +":" xx);
  System.out.println("第一天和最后天:" firstD +"," lastD);

 

输出结果:

当前时间:2013-10-26 23:4:3
第一天和最后天:1,31



获取上个月的年、月、日

Calendar c=Calendar.getInstance();

c.add(Calendar.MONTH, -1);//上个月

SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String year=String.valueOf(c.get(Calendar.YEAR));

String topDay String.valueOf(c.getActualMinimum(Calendar.DAY_OF_MONTH));

String lastDay String.valueOf(c.getActualMaximum(Calendar.DAY_OF_MONTH)); 

//上个月

String lastMonth=String.valueOf(c.get(Calendar.MONTH)+1).length()==2?String.valueOf(c.get(Calendar.MONTH)+1):"0"+String.valueOf(c.get(Calendar.MONTH)+1);

String topDayMonth=year+"-"+lastMonth+"-"+"01" 00:00:00";

String lastDayMonth year+"-"+lastMonth+"-"+lastDay+ 23:59:59";

System.out.println("###year:" year);

System.out.println("###last month:" lastMonth);

        System.out.println("###topday:" topDayMonth);

        System.out.println("###lastday:" lastDayMonth);



输出结果

###year:2013

###last month:04

###topday:2013-04-01 00:00:00

###lastday:2013-04-30 23:59:59


3.从数据库获取时间

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); 

 SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date date1;

 

Date date2;

Time time2;

Timestamp timestamp2;


Timestamp  timestamp3;

while(rs.next()){

date1 = rs.getDate("date1");//获取date类型中的日期


date2 = rs.getTimestamp("date2");//获取datetime类型中的日期部分

time1 = rs.getTime("date2");//获取datetime类型中的时间部分

timestamp2 = rs.getTimestamp("date2");//获取datetime类型中的日期和时间

//或者date2 = rs.getTimestamp("date2");//多态



timestamp3 = rs.getTimestamp("date3");

 

   System.out.println(sdf.format(date1t));

 

System.out.println(sdf1.format(date2t));

System.out.println(sdf1.format(time2));

System.out.println(sdf1.format(timestamp2));

 

System.out.println(sdf1.format(timestamp3));

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中的正则表达式是一种强大的工具,用于字符串的模式匹配。下面是一些Java中使用正则表达式的技巧: 1. 使用String类的matches()方法来检查一个字符串是否与指定的正则表达式匹配。例如: ```java String regex = "^[a-zA-Z]+$"; String str = "HelloWorld"; boolean isMatch = str.matches(regex); System.out.println(isMatch); // 输出true ``` 2. 使用Pattern和Matcher类来进行更复杂的匹配操作。例如: ```java String regex = "\\b\\d{3}-\\d{3}-\\d{4}\\b"; // 匹配电话号码格式 xxx-xxx-xxxx String str = "我的电话号码是 123-456-7890"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); if (matcher.find()) { String phoneNumber = matcher.group(); System.out.println(phoneNumber); // 输出123-456-7890 } ``` 3. 利用正则表达式的分组功能提取匹配结果的特定部分。例如: ```java String regex = "(\\d{2})-(\\d{2})-(\\d{4})"; // 匹配日期格式 xx-xx-xxxx String str = "生日是 01-23-1990"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); if (matcher.find()) { String month = matcher.group(1); String day = matcher.group(2); String year = matcher.group(3); System.out.println("生日是:" + year + "年" + month + "月" + day + "日"); // 输出生日是:1990年01月23日 } ``` 4. 使用正则表达式的预定义字符类来匹配常见的模式,如数字、字母、空白字符等。例如: ```java String regex = "\\d+"; // 匹配至少一个数字 String str = "abc 123 def 456"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println(matcher.group()); // 输出123 456 } ``` 这些只是Java中正则表达式的一些基本技巧,还有很多其他高级用法和特性可以探索。可以参考Java官方文档或其他教程来深入学习正则表达式的用法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值