项目心得——按照指定的日期/时间创建Date对象

  有时,在做项目中,需要获得指定日期的Date对象,这个指定的日期或者时间可能不是当前的时间。下面讲解两种获取指定日期/时间的Date对象的方法

  1. package cc.bcy;
  2. import java.text.DateFormat;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Calendar;
  6. import java.util.Date;
  7. import java.util.GregorianCalendar;
  8. public class DateTest
  9. {
  10. public static void main(String[] args) throws ParseException
  11. {
  12. /*第一种方法*/
  13. // 获得2009年06月01日 的Date对象
  14. DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
  15. Date myDate1 = dateFormat1.parse("2009-06-01");
  16. System.out.println(myDate1);
  17. // 获得2010年9月13日22点36分01秒 的Date对象
  18. DateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  19. Date myDate2 = dateFormat2.parse("2010-09-13 22:36:01");
  20. System.out.println(myDate2);
  21. System.out.println();
  22.  
  23. /*第二种方法*/
  24. //获取2014年2月11日的Date对象
  25. Calendar myCalendar = new GregorianCalendar(2014, 2, 11);
  26. Date myDate3 = myCalendar.getTime();
  27. System.out.println(myDate3);
  28. //获取2014年2月11日 22:36:01的Date对象
  29. Calendar myCalendar2 = new GregorianCalendar(2014, 2, 11,22,36,01);
  30. Date myDate4 = myCalendar2.getTime();
  31. System.out.println(myDate4);
  32. }
  33. }

  获取当前时间的Date对象:

  1. package cc.bcy;
  2. import java.text.DateFormat;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Calendar;
  6. import java.util.Date;
  7. import java.util.GregorianCalendar;
  8. public class DateTest
  9. {
  10. public static void main(String[] args) throws ParseException
  11. {
  12. Date d1 = new Date(); //当前时间
  13. System.out.println(d1);
  14. }//Thu May 30 10:50:04 CST 2019
  15. }

  获取指定时间戳的Date对象:

  1. package cc.bcy;
  2. import java.text.DateFormat;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Calendar;
  6. import java.util.Date;
  7. import java.util.GregorianCalendar;
  8. public class DateTest
  9. {
  10. public static void main(String[] args) throws ParseException
  11. {
  12. // 从1970年1月1日 早上8点0分0秒 开始经历的毫秒数
  13. Date d2 = new Date(5000);
  14. System.out.println("从1970年1月1日 早上8点0分0秒 开始经历了5秒的时间");
  15. System.out.println(d2);
  16. }
  17. }
  18. /*
  19. 从1970年1月1日 早上8点0分0秒 开始经历了5秒的时间
  20. Thu Jan 01 08:00:05 CST 1970
  21. */

  获取当前时间的时间戳:

  1. package cc.bcy;
  2. import java.text.DateFormat;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Calendar;
  6. import java.util.Date;
  7. import java.util.GregorianCalendar;
  8. public class DateTest
  9. {
  10. public static void main(String[] args) throws ParseException
  11. {
  12. Date now = new Date();
  13. System.out.println("当前时间的时间戳为:"+now.getTime());
  14. System.out.println("当前时间的时间戳为:"+System.currentTimeMillis());
  15. }
  16. }
  17. //当前时间的时间戳为:1559185132787
  18. //当前时间的时间戳为:1559185132787

  把当前时间格式化为字符串:

  1. package cc.bcy;
  2. import java.text.*;
  3. import java.util.*;
  4.  
  5. public class DateTest
  6. {
  7. public static void main(String[] args) throws ParseException
  8. {
  9. SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );
  10. Date d= new Date();
  11. String str = sdf.format(d);
  12. System.out.println("当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: "+str);
  13.  
  14. SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd" );
  15. Date d1= new Date();
  16. String str1 = sdf1.format(d1);
  17. System.out.println("当前时间通过 yyyy-MM-dd 格式化后的输出: "+str1);
  18. }
  19. }
  20. /*
  21. 当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: 2019-05-30 11:03:15 267
  22. 当前时间通过 yyyy-MM-dd 格式化后的输出: 2019-05-30
  23. */

  Calendar与Date进行转换:

  1. package cc.bcy;
  2. import java.text.*;
  3. import java.util.*;
  4.  
  5. public class DateTest
  6. {
  7. public static void main(String[] args) throws ParseException
  8. {
  9. //采用单例模式获取日历对象Calendar.getInstance();
  10. Calendar c = Calendar.getInstance();
  11. //通过日历对象得到日期对象
  12. Date date = c.getTime();
  13.  
  14. Date date2 = new Date(0);
  15. c.setTime(date2); //把这个日历,调成日期 : 1970.1.1 08:00:00
  16. }
  17. }

  Calendar的简单操作:

  add方法,在原日期上增加年/月/日
  set方法,直接设置年/月/日

  1. package cc.bcy;
  2. import java.text.*;
  3. import java.util.*;
  4.  
  5. public class DateTest
  6. {
  7.  
  8. public static void main(String[] args) throws ParseException
  9. {
  10. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  11. Calendar c = Calendar.getInstance();
  12. Date now = c.getTime();
  13. // 当前日期
  14. System.out.println("当前日期: " + sdf.format(now));
  15.  
  16. // 下个月的今天
  17. c.add(Calendar.MONTH, 1);
  18. System.out.println("下个月的今天: " +sdf.format(c.getTime()));
  19.  
  20. // 去年的今天
  21. c.setTime(now);
  22. c.add(Calendar.YEAR, -1);
  23. System.out.println("去年的今天: " +sdf.format(c.getTime()));
  24.  
  25. // 上个月的第三天
  26. c.setTime(now);
  27. c.add(Calendar.MONTH, -1);
  28. c.set(Calendar.DATE, 3);
  29. System.out.println("上个月的第三天: " +sdf.format(c.getTime()));
  30. }
  31. }
  32. /*
  33. 当前日期: 2019-05-30 11:14:41
  34. 下个月的今天: 2019-06-30 11:14:41
  35. 去年的今天: 2018-05-30 11:14:41
  36. 上个月的第三天: 2019-04-03 11:14:41
  37. */

项目心得——按照指定的日期/时间创建Date对象的更多相关文章

  1. 【转】JAVA 8 日期/时间(Date Time)API指南

    前言 本来想写下Java 8的日期/时间API,发现已经有篇不错的文章了,那就直接转载吧~ PS:主要内容没变,做了部分修改. 原文链接: journaldev 翻译: ImportNew.com - ...

  2. Java8学习笔记(九)--日期/时间(Date Time)API指南

    Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间处理的一致性方法,因此日期/时间API也是除Java核心API以外另一项倍受欢迎的内容 ...

  3. [转] Java8 日期/时间(Date Time)API指南

    [From] http://www.importnew.com/14140.html Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间 ...

  4. PHP函数之日期时间函数date()使用详解

    date()函数是我们在php开发中常碰到并且会使用到的一个日期函数,下面我来给大家介绍date()函数的一些基本扮靓和方法,有需要了解的朋友可进入参考   日期时间函数是PHP 的核心组成部分.无需 ...

  5. Java8 日期/时间(Date Time)使用简介

    特别说明: LocalDateTime 为日期时间的计算提供了很大的方便, 在构造对象/运算/toString等方便都非常便利. 3个常用的类: java.time.LocalDateTime; ja ...

  6. PHP中日期时间函数date()用法总结

    date()是我们常用的一个日期时间函数,下面我来总结一下关于date()函数的各种形式的用法,有需要学习的朋友可参考. 格式化日期date() 函数的第一个参数规定了如何格式化日期/时间.它使用字母 ...

  7. 雷林鹏分享:Ruby 日期 & 时间(Date & Time)

    Ruby 日期 & 时间(Date & Time) Time 类在 Ruby 中用于表示日期和时间.它是基于操作系统提供的系统日期和时间之上.该类可能无法表示 1970 年之前或者 2 ...

  8. 如何在指定的地址上创建C++对象

    如果已经掌握在静态存储区上创建对象的方法,那么可以扩展一下,可以在任意地址上创建C++对象. 解决方案:-在类中重载new/delete操作符-在new的操作符重载函数中返回指定的地址-在delete ...

  9. javascript转换日期字符串为Date对象

    把一个日期字符串如“2007-2-28 10:18:30”转换为Date对象: 1: var strArray=str.split(" "); var strDate=strArr ...

随机推荐

  1. manjaro linux没有ll等命令的解决办法

    编辑~/.bashrc, 添加alias 如下 vim ~/.bashrc设置别名. 添加如下行 alias ll='ls -alF' alias la='ls -A' alias vi='vim' ...

  2. 20181205(模块循环导入解决方案,json&pickle模块,time,date,random介绍)

    一.补充内容 循环导入 解决方案: 1.将导入的语句挪到后面. ​ 2.将导入语句放入函数,函数在定义阶段不运行 #m1.pyprint('正在导入m1')   #②能够正常打印from m2 imp ...

  3. 我的Python分析成长之路7

    类 一.编程范式: 1.函数式编程   def 2.面向过程编程   (Procedural Programming) 基本设计思路就是程序一开始是要着手解决一个大的问题,然后把一个大问题分解成很多个 ...

  4. Applied Nonparametric Statistics-lec10

    Ref:https://onlinecourses.science.psu.edu/stat464/print/book/export/html/14 估计CDF The Empirical CDF ...

  5. pycharm-install scipy

    懒得装双系统,所以在win7下用pycharm,python2.7 虽然机子本身是64位,但是安装包的时候,我居然需要下载32位的??迷:) 这次装的是scipy.在pycharm里添加不了,根据网上 ...

  6. HDU 5025 Saving Tang Monk(状态转移, 广搜)

    #include<bits/stdc++.h> using namespace std; ; ; char G[maxN][maxN], snake[maxN][maxN]; ]; int ...

  7. IDEA字体颜色快速导入辅助工具设置

     原创链接:https://www.cnblogs.com/ka-bu-qi-nuo/p/9181954.html 程序员开发大多数都是使用IDE进行代码开发的,这样能快速的开发出需要的项目.之前一直 ...

  8. javascript 内置日期转换方法

    var d = new Date(); console.log(d); // 输出:Mon Nov 04 2013 21:50:33 GMT+0800 (中国标准时间) console.log(d.t ...

  9. 【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸

    多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的.同理,声明三维数组时需要三对中括号,中括号的位置可以在 ...

  10. python - 自动化测试框架 - sendMail

    # -*- coding:utf-8 -*- '''@project: Voctest@author: Jimmy@file: sendMail.py@ide: PyCharm Community E ...