java的日期类
来源:互联网 发布:面包车拉货选什么软件 编辑:程序博客网 时间:2024/06/18 11:01
1.日期相关类
Date类: java.util.Date类,不是java.sql.Date. 类 Date 表示特定的瞬间,精确到毫秒.
import java.util.Date;public class DateDemo1 {public static void main(String[] args) {Date date = new Date();System.out.println(date.toString()); //Sun Jun 18 17:11:54 CST 2017System.out.println("中国人的风格:"+date.toLocaleString()); //2017-6-18 17:11:54//date-->longlong time = date.getTime();//返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。System.out.println(time); // 1497777306478//long-->datelong timeMillis = System.currentTimeMillis();//获取系统时间的毫秒数date = new Date(timeMillis);System.out.println(date.toLocaleString());//2017-6-18 17:17:19}}
DateFormat/SimpleDateFormat类:
日期格式化操作:
------------------------------------------------------------------------------
DateFormat:可以完成日期的格式化操作.
格式化(format): Date类型对象------->String类型: String format(Date date)
解析(parse): String类型时间------>Date类型: Date parse(String source)
import java.text.DateFormat;import java.util.Date;public class DateFormatDemo1 {public static void main(String[] args) {DateFormat dateInstance = DateFormat.getInstance();//获取DateFormat对象,普通格式String formatDate = dateInstance.format(new Date());System.out.println(formatDate);//17-6-18 下午5:24dateInstance = DateFormat.getDateInstance(); //获取DateFormat对象,只有日期格式String formatDate2 = dateInstance.format(new Date());System.out.println(formatDate2);//2017-6-18dateInstance = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //获取DateFormat对象,完整格式String formatDate3 = dateInstance.format(new Date());System.out.println(formatDate3);//2017年6月18日 下午05时27分38秒}}
--------------------------------------------------------------------------------
DateFormar转换的格式是固定的,我想根据自己的风格来做转换.
自定义格式,比如:2016-04-16 15:50:48
比如:2016/04/16 15:50:48
SimpleDateFormat类:是DateFormat的子类,支持自定义格式模式.(推荐使用这个)
转换格式的定义:比如 yyyy-MM-dd HH:mm:ss
转换方法:
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class SimpleDateFormatDemo {private static final String pattern = "yyyy-MM-dd HH:mm:ss"; //指定日期的格式public static void main(String[] args) throws ParseException {SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); //创建对象并指定格式//将日期转换成指定格式的字符串String formatDate = dateFormat.format(new Date());System.out.println(formatDate); //2017-06-18 05:32:56//将指定格式的字符串转换成日期Date parseDate = dateFormat.parse(formatDate);System.out.println(parseDate);}}
定义一个日期转换的util
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DateUtil {public static final String DEFAULT_DATE_PATTERN="yyyy-MM-dd HH:mm:ss";//默认的日期格式private DateUtil() {} //私有化构造方法,避免外界创建对象/** * Date日期转换为String字符串 * @param date 传入的日期 * @param pattern 传入的格式 * @return 按照指定日期格式装换后的日期字符串 */public static String date2String(Date date,String pattern){SimpleDateFormat dateFormat = new SimpleDateFormat();if (!hasLength(pattern)) { //判断如果日期格式为空则给一个我们自己定义的默认的格式pattern=DEFAULT_DATE_PATTERN;}dateFormat.applyPattern(pattern);//将给定模式字符串应用于此日期格式return dateFormat.format(date);}/** * Date日期转换为String字符串,如果用户只传入日期,使用该方法 * @param date 传入的日期 * @return 按照默认的日期格式装换后的日期字符串 */public static String date2String(Date date){return date2String(date, null);}/** * String字符串转换为Date日期 * @param date 传入的日期 * @param pattern 传入格式 * @return 返回指定格式的日期 * @throws ParseException 转换异常 */public static Date string2date(String date,String pattern) throws ParseException{SimpleDateFormat dateFormat = new SimpleDateFormat();if (!hasLength(pattern)) { //判断如果日期格式为空则给一个我们自己定义的默认的格式pattern=DEFAULT_DATE_PATTERN;}dateFormat.applyPattern(pattern);//将给定模式字符串应用于此日期格式return dateFormat.parse(date);}/** * String字符串转换为Date日期 ,不指定格式 * @param date 传入的日期 * @return 返回指定格式的日期 * @throws ParseException 转换异常 */public static Date string2date(String date) throws ParseException{return string2date(date, null);}/** * 判断字符串非空,既不是引用为空,也不是空字符 * @param str 传入一个字符串 * @return true:字符串非空;false:字符串为空 */private static boolean hasLength(String str) {return str != null && !"".equals(str.trim());}}测试:
import java.text.ParseException;import java.util.Date;public class TestDemo {public static void main(String[] args) throws ParseException {String stringDate1 = DateUtil.date2String(new Date(), "yyyy/MM/dd HH:mm:ss");System.out.println(stringDate1); //2017/06/18 19:24:48String stringDate2 = DateUtil.date2String(new Date());System.out.println(stringDate2); //2017-06-18 19:24:48Date date1 = DateUtil.string2date(stringDate1,"yyyy/MM/dd HH:mm:ss");System.out.println(date1); //Sun Jun 18 19:24:48 CST 2017Date date2 = DateUtil.string2date(stringDate2);System.out.println(date2); //Sun Jun 18 19:24:48 CST 2017}}
Calendar类:
Java8中重新为日期定义了新的API.-------------------------------------------------------------
Date类中的大量方法都已经过时了,过时不代表不存在,依然可以使用,只不过不建议使用,官方建议我们使用Calendar类.
日历类(Calendar):是抽象类,表示日历,比Date更强大.
创建日历对象:
Calendar c = Calendar.getInstance();
int get(int field) 返回给定日历字段(年,月,日,时,分,秒)的值。
查询最近一周.......的信息,如何表示最近这一周.
beginTime:
endTime: 当前系统时间的晚上凌晨之前.
- java的日期类
- java的日期类
- java 的 日期时间类
- java处理日期的类
- java的日期操作类
- java 的日期格式化类
- java的日期处理类
- java日期类的操作
- Java处理日期的类
- Java日期类的使用
- JAVA的日期类DATE、日期格式化、Calendar日历类
- Java处理日期,时间,以及日期时间的类
- java日期计算工具类【包含常用的日期计算方法】
- java把日期转换为中文日期的类
- Java常见日期格式及日期的计算工具类
- Java日期相关类的使用
- java的日期时间处理自定义类
- Java常用的日期处理类
- 课后练习8.15:最大公共子图问题
- Eclipse离线安装TestNG
- Lua表达式
- 数据库数值函数的解析及使用
- 如何映射本地虚拟机或远程服务器磁盘到本地
- java的日期类
- 《Spring实践——不一样的'HelloWorld'》
- Node.js 路由映射和简单例子实现
- SDUT-3103 小鑫爱运动
- angular 1 与 angular 2 有哪些区别
- React +ES6 +Webpack入门
- css创建一个链接框
- SDUT-2736 小鑫の日常系列故事(五)——卡片游戏
- [Symfony\Component\Process\Exception\RuntimeException] The Proc