日期的简单输出

package Date;

import java.sql.*;
import java.text.*;
import java.util.Calendar;

public class TestDate {
 public static void main(String[] args) throws Exception {
  Class.forName("com.mysql.jdbc.Driver");
  Connection con = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/sa", "root", "root");
  Statement state = con.createStatement();
  ResultSet rs = state.executeQuery("select birthday from student");
  while (rs.next()) {
   Date date = rs.getDate("birthday");
   // 把日期转换成XXXX年XX月XX日的形式,用SimpleDateFormat就行了
   // SimpleDateFormat simp = new
   // SimpleDateFormat("yyyy年MM月dd日星期F HH:mm:ss");
   // System.out.println(simp.format(date));

   // 获取date中的月份时,必须加一,因为月份索引是从0开始
   Calendar cal = Calendar.getInstance();
   cal.setTime(date);
   System.out.println(cal.get(Calendar.YEAR) + "年"
     + (cal.get(Calendar.MONTH) + 1) + "月"
     + cal.get(Calendar.DAY_OF_MONTH) + "日");

  }
  rs.close();
  state.close();
  con.close();
 }
}

 

 

 

/*a) 从命令行接受3个参数, 分别表示 年 月 日, 判断它们能不能构成一个合法的日期
b) 命令行参数都是字符串, 要转换为整型才能判断, 由于String是类, 不能直接用 (int)str 转换, 所以请按如下方式转换(这里假设输入的都是数字)
int year = Integer.parseInt(args[0]);
c) 年 应该在 1970~2050之间
d) 月 应该在 1~12之间
e) 日 应该在 1~当月天数之间
f) 难点是 2月日期的判断: 首先要判断年是平年还是闰年, 再判断该日期的合法性
g) 效果如下
*/
class Text {
 public static void main(String[] args) {
     int year=Integer.parseInt(args[0]);
     int month=Integer.parseInt(args[1]);
     int day=Integer.parseInt(args[2]);
     
     boolean flag = false ;
     if(year%4==0 && year%100!=0 || year%400==0) {
      flag=true;
     }
     
     int lastday=28;
     if(month==1 ||month==3 ||month==5 ||month==7 || month==8 || month==10 || month==12) {
      lastday=31;
     }
     else if (month==4 ||month==6 ||month==9 ||month==11 ) {
      lastday=30;
     }
     else if (flag=true) {
      lastday=29;
     }
     
     if(year<1970 || year>2050) {
      System.out.println ("It is a mistake year");
     }
     else if(month<1 || month>12) {
      System.out.println ("It is a mistake month");
     }
     else if(day<0 || day>31) {
      System.out.println ("It is a mistake day");
     }
     else  {
      System.out.println (year+"年"+month+"月"+day+"日");
     }
     
     
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值