精华内容
下载资源
问答
  • 在做网络爬虫时,经常会发现不同平台中的时间格式是不同的。那么,如何将不同的平台中的时间转为为相同格式的时间,并将其保存到数据库中呢。 下面的程序,是列举了一个实例。根据传过来的日期字符串“形状”,重新...

    在做网络爬虫时,经常会发现不同平台中的时间格式是不同的。那么,如何将不同的平台中的时间转为为相同格式的时间,并将其保存到数据库中呢。  下面的程序,是列举了一个实例。根据传过来的日期字符串“形状”,重新设置输出日期字符串的形状,就可以得到想要日期格式的数据了。

    package timeutil;

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    public class TimeTest {

    public static void main(String[] args) {

    String s1 = "20151117190936";

    String s2="20090915-17:20:12";

    try {

    Date date1 = new SimpleDateFormat("yyyyMMddHHmmss").parse(s1);

    //输出格式

    System.out.println("=======解析字符串1======");

    System.out.println(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(date1));

    System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date1));

    System.out.println("=======解析字符串2======");

    Date date2 = new SimpleDateFormat("yyyyMMdd-HH:mm:ss").parse(s2);

    System.out.println(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(date2));

    System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date2));

    } catch (ParseException e) {

    e.printStackTrace();

    }

    }

    }

    输出结果截图:

    展开全文
  • 1)根据当前时间,获取具体的时刻的时间N天前M小时之前可用new Date().getTime() - 24 * 60 * 60 * 1000*N【N天之前】的方法来获取处理时间之后的具体的值,最终转化为想要的时间格式import java.text....

    1)根据当前时间,获取具体的时刻的时间

    N天前

    M小时之前

    可用

    new Date().getTime() - 24 * 60 * 60 * 1000*N【N天之前】

    的方法来获取处理时间之后的具体的值,

    最终转化为想要的时间格式

    import java.text.SimpleDateFormat;

    import java.util.Date;

    public class getTime {

    public static void main(String[] args) {

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

    Date time = new Date(new Date().getTime() - 24 * 60 * 60 * 1000);

    System.out.println(sd.format(time));

    System.out.println(sd.format(new Date()));

    //想获得N天之前或M天之后的时间

    int NDay = 5;

    int MDay = -10; //之后就传负数

    Date timeN = new Date(new Date().getTime() - 24 * 60 * 60 * 1000 * NDay);

    Date timeM = new Date(new Date().getTime() - 24 * 60 * 60 * 1000 * MDay);

    System.out.println(sd.format(timeN));

    System.out.println(sd.format(timeM));

    //想获得N小时之前或M小时之后的时间

    int NHour = 5;

    int MHour = -10; //之后就传负数

    Date timeNHour = new Date(new Date().getTime() - 60 * 60 * 1000 * NHour);

    Date timeMHour = new Date(new Date().getTime() - 60 * 60 * 1000 * MHour);

    System.out.println(sd.format(timeNHour));

    System.out.println(sd.format(timeMHour));

    //想获得N分钟之前或M分钟之后的时间

    int NMinute = 5;

    int MMinute = -10; //之后就传负数

    Date timeNMinute = new Date(new Date().getTime() - 60 * 1000 * NMinute);

    Date timeMMiute = new Date(new Date().getTime() - 60 * 1000 * MMinute);

    System.out.println(sd.format(timeNMinute));

    System.out.println(sd.format(timeMMiute));

    //想获得N秒之前或M秒之后的时间

    int NSecond = 5;

    int MSecond = -10; //之后就传负数

    Date timeNSecond = new Date(new Date().getTime() - 1000 * NSecond);

    Date timeMSecond = new Date(new Date().getTime() - 1000 * MSecond);

    System.out.println(sd.format(timeNSecond));

    System.out.println(sd.format(timeMSecond));

    long Ntime = getDetailtime(3, 20, 1, 1);

    System.out.println(sd.format(Ntime));

    System.out.println(Ntime);

    Date Ntime2 = getDetailDate(3, 20, 1, 1);

    System.out.println(sd.format(Ntime2));

    System.out.println(Ntime2);

    }

    public static Date getDetailDate(int Day, int Hour, int Minute, int Second) {

    Date timeN = new Date(new Date().getTime() - Day * 24 * 60 * 60 * 1000 - Hour * 60 * 60 * 1000 - Minute * 60 * 1000 - Second * 1000);

    return timeN;

    }

    public static long getDetailtime(int Day, int Hour, int Minute, int Second) {

    long timeN = new Date().getTime() - Day * 24 * 60 * 60 * 1000 - Hour * 60 * 60 * 1000 - Minute * 60 * 1000 - Second * 1000;

    return timeN;

    }

    }

    那么想要更加具体的时间,比如让用户输入具体的天,时,分钟,秒等,可以获取更加精准的想要的时刻

    public static Date getDetailDate(int Day, int Hour, int Minute, int Second) {

    Date timeN = new Date(new Date().getTime() - Day * 24 * 60 * 60 * 1000 - Hour * 60 * 60 * 1000 - Minute * 60 * 1000 - Second * 1000);

    return timeN;

    }

    public static long getDetailtime(int Day, int Hour, int Minute, int Second) {

    long timeN = new Date().getTime() - Day * 24 * 60 * 60 * 1000 - Hour * 60 * 60 * 1000 - Minute * 60 * 1000 - Second * 1000;

    return timeN;

    }

    2) 根据java.util.Calendar中的操作

    ca.add(Calendar.DATE, -N);【减去N天】

    import java.text.SimpleDateFormat;

    import java.util.Calendar;

    import java.util.Date;

    public class getTime2 {

    public static void main(String[] args) {

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

    int N=2;

    Calendar ca = Calendar.getInstance();//得到一个Calendar的实例

    ca.setTime(new Date()); //设置时间为当前时间

    ca.add(Calendar.DATE, -N);

    long timeDay= ca.getTime().getTime();

    Calendar ca2 = Calendar.getInstance();//得到一个Calendar的实例

    ca2.setTime(new Date()); //设置时间为当前时间

    ca2.add(Calendar.HOUR, -N);

    long timeDay2= ca2.getTime().getTime();

    Calendar ca3 = Calendar.getInstance();//得到一个Calendar的实例

    ca3.setTime(new Date()); //设置时间为当前时间

    ca3.add(Calendar.MINUTE, -N);

    long timeDay3= ca3.getTime().getTime();

    Calendar ca4 = Calendar.getInstance();//得到一个Calendar的实例

    ca4.setTime(new Date()); //设置时间为当前时间

    ca4.add(Calendar.SECOND, -N);

    long timeDay4= ca4.getTime().getTime();

    System.out.println(sd.format(timeDay));

    System.out.println(sd.format(timeDay2));

    System.out.println(sd.format(timeDay3));

    System.out.println(sd.format(timeDay4));

    Calendar ca5 = Calendar.getInstance();//得到一个Calendar的实例

    ca5.setTime(new Date()); //设置时间为当前时间

    ca5.add(Calendar.MONTH, -N);

    long timeDay5= ca5.getTime().getTime();

    System.out.println(sd.format(timeDay5));

    Calendar ca6 = Calendar.getInstance();//得到一个Calendar的实例

    ca6.setTime(new Date()); //设置时间为当前时间

    ca6.add(Calendar.YEAR, -N);

    long timeDay6= ca6.getTime().getTime();

    System.out.println(sd.format(timeDay6));

    }

    }

    3)Java中Date 有一些不建议用的方法

    ef757db429e1adbf57d178baa0d91552.png

    4)运用已有的一些jar依赖,比如

    org.apache.commons.lang3.time.DateUtils;

    其中已经集成了的api

    import org.apache.commons.lang3.time.DateUtils;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    public class TestLongtime {

    public static void main(String[] args) {

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

    System.out.println(sd.format(new Date()));

    System.out.println(sd.format(new Date().getTime()));

    Date now = new Date();

    Date year = DateUtils.addYears(now, -2);

    Date day = DateUtils.addDays(now, -2);

    Date hour = DateUtils.addHours(now, -2);

    Date minute = DateUtils.addMinutes(now, -2);

    Date second = DateUtils.addSeconds(now, -2);

    //long bb = Long.parseLong(startDate.toString());

    System.out.println(sd.format(year));

    System.out.println(sd.format(day));

    System.out.println(sd.format(hour));

    System.out.println(sd.format(minute));

    System.out.println(sd.format(second));

    }

    }

    5)常用的String类型转换到long类型

    long bb = Long.parseLong(startDate.toString());

    6)Java中long类型的10位和13位的时间戳,转换为可供查看的时间格式

    如果接口文档中规定的是String类型,要注意一定不能含有l,只能含有数字

    public static String timestamp2Date(String str_num) {

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

    if (str_num.length() == 13) {

    String date = sdf.format(new Date(toLong(str_num)));

    System.out.println("将13位时间戳:" + str_num + "转化为字符串:" + date);

    return date;

    } else {

    String date = sdf.format(new Date(toLong(str_num) * 1000));

    System.out.println("将10位时间戳:" + str_num + "转化为字符串:" + date);

    return date;

    }

    }

    public static long toLong(String obj) {

    return Long.parseLong(obj);

    }

    @Test

    public void Te(){

    String aaa = "1566802997242";

    String bbb = "1566801239";

    System.out.println(aaa.length());

    System.out.println(bbb.length());

    timestamp2Date(aaa);

    timestamp2Date(bbb);

    }

    展开全文
  • import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Demodateformat {public static void main(String[] args) throws ParseException {deom1();deom2();}priv...

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    public class Demodateformat {

    public static void main(String[] args) throws ParseException {

    deom1();

    deom2();

    }

    private static void deom2() throws ParseException {

    SimpleDateFormat simpleDateFormat=new SimpleDateFormat("YYYY年MM月DD日:mm:ss");//日期指定格式输出

    Date date=simpleDateFormat.parse("2020年07月197日:34:11") ;//还原格式

    System.out.println(date);//系统默认格式输出

    }

    private static void deom1() {

    SimpleDateFormat simpleDateFormat=new SimpleDateFormat("YYYY年MM月DD日:mm:ss");//日期指定格式输出

    Date date=new Date();

    System.out.println(simpleDateFormat.format(date));//指定格式输出

    }

    }

    //输出结果

    80a93e772d28b1eb108bee0ba4514816.png

    展开全文
  • java按照指定格式格式时间字符串

    千次阅读 2018-07-17 20:43:24
    import java.text.SimpleDateFormat; import java.util.Date; public class DateProcess { public static void main(String[] args) { ... * 按照指定格式格式时间字符串</br> ...
    package com.x_z.blog;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateProcess {
    	public static void main(String[] args) {
    
    		try {
    			/**
    			 * 按照指定格式格式化时间字符串</br>
    			 * 
    			 * new SimpleDateFormat("yyyy-MM-dd"); 括号内制定格式化时间格式
    			 */
    			SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    			// 格式化时间 2018-07-17
    			Date date = format.parse("2018-07-17");
    			// 输出结果 Tue Jul 17 00:00:00 CST 2018
    			System.out.println(date);
    			// 输出结果 2018-07-17
    			System.out.println(format.format(date));
    			Date date2 = new Date();
    			// 输出结果Tue Jul 17 20:39:42 CST 2018
    			System.out.println(date2);
    			// 输出结果2018-07-17
    			System.out.println(format.format(date2));
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    
    	}
    
    }
    

     

    展开全文
  • *String dateString = "18:31:43";try {Date date = new SimpleDateFormat("HH:...// 下面将字符串转换为日期格式后显示的格式是2016-08-15System.out.println(DateFormat.getDateInstance().format(date));// 如果...
  • Java时间格式化(获取指定时间

    千次阅读 2018-06-06 08:34:40
    Java时间格式化(获取指定时间,七天前) 1、通过获取当前系统时间,格式化后转为“yyyy-MM-dd HH:mm:ss”格式并输出; 2、可获取指定时间,如七天前,一年前等,用户通过时间段查询相关业务。 代码如下 ...
  • 标签:判断日期格式是否满足要求import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Test2{public static void main(String[] args){String date_string=...
  • Java DATE类型日期转换为指定格式使用SimpleDateFormat类,此类在java.text包下:import java.text.SimpleDateFormat;或者直接使用java.text.SimpleDateFormat定义变量转换步骤:1、原格式String str = "2012-09-19 ...
  • System.out.println("按照指定格式 yyyy年MM月dd日 hh时mm分ss秒 ,区域为中文:" + df4.format(date)); System.out.println("按照指定格式 yyyy年MM月dd日 hh时mm分ss秒 ,区域为中文:" + df3.format(date)); Date ...
  • * @param strDate 时间 * @param formatter new SimpleDateFormat("yyyy-MM-dd"),new SimpleDateFormat("yyyy-MM-dd yyyy-MM-dd HH:mm:ss") * @param legalLen 10 , 19 * @return */ private static boolean ...
  • Java时间转化指定格式

    2019-01-04 14:38:48
    在做Java时间转化的时候,想获取时分秒,出现了一个bug,于是,对这了仔细研究下。 有BUG的写法 我获取时间的写法是这样的: public static String getDatehhMMss(Date date){ DateFormat dateFormat = new ...
  • Java获取指定时区的时间格式

    千次阅读 2018-11-19 13:28:26
    分享一个获取指定时区的时间格式方法:timeZoneOffset指定为8,获取东8区的时间,timeZoneOffset指定为-5,获取西5区的时间。 import java.text.SimpleDateFormat; import java.util.Date; import java.util....
  • /** To change this template, choose Tools | Templates* and open the template in the editor.*/package ...import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;im...
  • jaav获取某个时间的相应格式时间的格式化通常会设计到java.text.SimpleDateFormat,这就是时间格式化类。以下是相关的步骤与方法介绍:我们先要定义一个SimpleDateFormat对象:SimpleDateFormat sdf = new ...
  • DateFormat df = new SimpleDateFormat("yyyy-mm-dd"); try { Date d1 = df.parse("2017-05-01"); Date d2 = df.parse("2017-05-31"); long lg = d2.getTime()-d1.getTime(); System.out.println(lg);...cat
  • System.out.println("按照指定格式 yyyy年MM月dd日 hh时mm分ss秒 ,区域为中文:" + df4.format(date)); System.out.println("按照指定格式 yyyy年MM月dd日 hh时mm分ss秒 ,区域为中文:" + df3.format(date)); ...
  • //2020-07-02这种格式 Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_MONTH, 3);//获取当前日期的未来第三天的日期 Date date = calendar.getTime(); String expectDeliveryDate = sdf...
  • import java.math.BigDecimal; /** * ClassName:DateUtils * Date: 2019年7月27日 上午11:12:29 * @author ZHUJIANYI * @since JDK 1.8.0_102 */ import java.sql.Timestamp; import java.text.ParseException; ...
  • java中使用Calendar获取指定时间public class DateTranslate {/*** 获取指定日期的间隔月份的第一天的日期* @param date* @param sep* @return*/public static Date getMonthFirstDay(Date date, Integer sep) {...
  • Java 将Excel中导入时间数字格式转为指定格式
  • 在poi开源类中,如果用Excel导入时间格式是43188.468333这种格式;其中43188是yyyy-MM-dd,0.468333是hh:mm:ss;需要将43188转换成2018-03-29格式, 0.468333转换成11:14:24格式.如下代码:public static Date getDate...
  • new Date().getTime() - 24 * 60 * 60 * 1000*N【N天之前】的方法来获取处理时间之后的具体的值,最终转化为想要的时间格式 import java.text.SimpleDateFormat; import java.util.Date; public class...
  • Java 获取指定格式字符串的时间

    千次阅读 2018-03-26 23:51:34
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); System.out.println(sdf.format(c.getTime())); Date nowTime = new Date(System.cur...
  • java时间规范指定格式

    2011-06-17 11:46:32
    采用这个类的format 方法将一个Date类型的数据传递过去  SimpleDateFormat sim= new SimpleDateFormat("yyyy/MM/dd"); sim.format(new Date());

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,356
精华内容 542
关键字:

java指定时间格式

java 订阅