JAVASE之日期操作
来源:互联网 发布:宾馆管理系统数据库 编辑:程序博客网 时间:2024/06/09 17:49
java日期操作~~
java的时间用Date类表示
SimpleDateFormat
日期与字符串相互转
016-09-06 09:30:25
yyyy-MM-dd HH:mm:ss
类似于正则,让他以这些字符为标准转换
将Date转换为 2016-09-06 09:30:25 这种日期:
如代码:
public static void main(String[] args) { // TODO Auto-generated method stub Date date = new Date(); //输出Date默认的toString方法的返回值 System.out.println(date); /* * 希望输出的格式是: * 2016-09-06 09:30:25 * yyyy-MM-dd HH:mm:ss */ //先创建个字符串是用来定义日期格式 String dateformat ="yyyy-MM-dd HH:mm:ss E a"; //创建个SimpleDaeFormat 对象,传入日期格式 SimpleDateFormat sad = new SimpleDateFormat(dateformat); //对象有个format方法,传入创建的时间对象,返回字符串 String str = sad.format(date); System.out.println(str); }
将 2016-09-06 09:30:25 日期装换为 Date对象
代码:
public static void main(String[] args) throws ParseException { // TODO Auto-generated method stub //要转换为Date的字符串 String str = "2008-08-08 20:08:08"; //创建个匹配要转换字符串时间格式的字符串 String dateformat = "yyyy-MM-dd HH:mm:ss"; //SimpleDateFormat 用传入的字符串时间格式解析字符串,然后创建对象 SimpleDateFormat asd = new SimpleDateFormat(dateformat); //调用SimpleDateFormat的方法parse转换为Date,那么就要创建Date对象 //会产生异常~~抛出 Date date = asd.parse(str); System.out.println(date); }
例子:输入生日计算活了多少天:
代码:
public static void main(String[] args) throws ParseException { // TODO Auto-generated method stub /* * 输入一个生日,输出到今天为止一共活了多少天 * 输入生日,转为Date,获取系统的Date,获取他们的毫秒值 * 然后求差,用该值除以一天的毫秒值,得出天数 * */ System.out.println("请输入你的生日"); System.out.println("格式如:2016-09-06"); Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); //创建日期格式字符串 String dateformat = "yyyy-MM-dd"; SimpleDateFormat asd = new SimpleDateFormat(dateformat); //将输入的生日转换为Date对象 Date srdate = asd.parse(input); long srss = srdate.getTime(); //获取系统现在时间 Date xzdate = new Date(); long xzss = xzdate.getTime(); //计算差 long scdate = (xzss-srss)/(24*60*60*1000); System.out.println("骚年,你已经活了:"+scdate+"天"); }
Calender
本身是抽象类
操作时间 计算时间
public static void main(String[] args) { // TODO Auto-generated method stub //创建一个Calendar,获取的是阳历 Calendar calendar = Calendar.getInstance(); System.out.println(calendar); //calendar的getTime获取的是Date Date date = calendar.getTime(); System.out.println(date); //用SimpleDateForm来定义日期格式 String dateform = "yyyy-MM-dd"; SimpleDateFormat asd = new SimpleDateFormat(dateform); //将日期定义为指定格式 String str= asd.format(date); System.out.println(str); }让Calendar表示的是当前Date所表示的时间 public static void main(String[] args) { //让Calendar表示的是当前Date所表示的时间 Date date = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); }
Calendar设置时间
public static void main(String[] args) { // TODO Auto-generated method stub Calendar calendar = Calendar.getInstance(); /* * 希望表示2008-08-30 10:22:33 * */ calendar.set(Calendar.YEAR, 2008); //!!Calendar的月份 是从0开始的!!!8月就写7或者Calendar.AUGUST calendar.set(Calendar.MONTH, Calendar.AUGUST); calendar.set(Calendar.DATE, 30); calendar.set(Calendar.HOUR_OF_DAY, 10); calendar.set(Calendar.MINUTE, 22); calendar.set(Calendar.SECOND,33); //要将calendar要转换为Date,不然不容易看 Date date = calendar.getTime(); System.out.println(date); }
获取Calendar的时间
注意星期,月份的问题。
public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); //获取年 int year = calendar.get(Calendar.YEAR); //获取月,因为月是从0开始的,所以要加1 int month = calendar.get(Calendar.MONTH)+1; int date = calendar.get(Calendar.DATE); System.out.println(year+"-"+month+"-"+date); int w = calendar.get(Calendar.DAY_OF_WEEK); //星期天返回的是1,不是的话就减1返回 System.out.println("星期:"+(w==1?7:w-1)); }
用Calendar计算时间
public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); //看15天以后,想做减法的话加负数 //加天的话,要是一年中天,因为有可能超过月份,星期等 calendar.add(Calendar.DAY_OF_YEAR, 15); Date date = calendar.getTime(); System.out.println(date); }
计算三个月后的十天后的周三是几号
public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, 3); calendar.add(Calendar.DAY_OF_YEAR, 10); //设置周三,那么就是周三那天了,0是周天那么周三就是4 calendar.set(Calendar.DAY_OF_WEEK,4); System.out.println(calendar.getTime()); }
获取某个时间分量所允许的最大值
public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); //这个月总共多少天,当前月所运行的最大天数,这个方法,传什么返回什么所允许的最 int days= calendar.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println(days); }
0 0
- JAVASE之日期操作
- JAVASE之文件操作
- JAVASE之操作XML
- JavaSE之操作符
- JAVASE之日期日历包装正则
- JavaSE(07)(数组高级操作及日期格式)
- 黑马程序员----JAVASE之集合操作【上】
- 黑马程序员----JAVASE之集合操作【下】
- Java_日期操作_日期之差
- Java基础知识之日期操作
- selenium之操作日期控件
- JAVA8之日期操作详解
- 黑马程序员----JAVASE之IO流操作【认知篇】
- 黑马程序员----JAVASE之IO流操作【字符流】
- 黑马程序员----JAVASE之IO流操作【字节流】
- JavaSE基础第二部分:Java基础语法之操作符
- javase专题--日期处理--1
- JavaSE-位操作
- 关于C#泛型接口协变和抗变的一些理解
- 设置cookie
- MPAndroidChart折线图一
- 统一钉铛1.9版本都新增了哪些功能?
- HDOJ 2034 人见人爱A-B 参考代码
- JAVASE之日期操作
- RecyclerView的使用
- python 网络编程socket
- ANDROID 开发常用的框架、工具、API
- codeforces 724B 暴力+枚举
- php mysql 中文乱码解决方法
- [PHP基础][03]关于php的运算符
- 链式语法的使用
- thinking in java 4th 读书笔记