java获取date类型的当前日期 格式YYYY-MM-dd hh:mm:ss

java获取date类型的当前日期 格式YYYY-MM-dd hh:mm:ss,第1张

如果只要"yyyy-MM-dd"格式的Date型, 通过javasql的Date:

Date d = new javasqlDate(new Date()getTime());

java 得到系统时间,直接私用Date类型,直接生成一个对象即可,示例如下:

import javautilDate;

import javatextDateFormat;

import javatextSimpleDateFormat;     

          Date dt=new Date();//如果不需要格式,可直接用dt,dt就是当前系统时间

         DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//设置显示格式

 String nowTime="";

        nowTime= dfformat(dt);//用DateFormat的format()方法在dt中获取并以yyyy/MM/dd HH:mm:ss格式显示

知其然,知其所以然

此博文的依据:hutool-565版本源码

获得年的部分

源码的DateTimeof(date)year()可拆解成两部分

第一部分,看代码很好理解,就是类型的转化

第二部分,

从代码跟下来,可以发现会走到 toCalendar()get(field)

toCalendar()会得到Calendar,这会就好理解可以获取年了。

不止可以获取年,还可以获取年,月,日,时,分,秒。详细介绍可以看这里:万字博文教你搞懂java源码的日期和时间相关用法

获得指定日期所属季度,从1开始计数

源码的DateTimeof(date)quarter()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,month()获取DateTime对应的月份,然后再做了一个简单计算。

getField方法上面有介绍了,这里就不水字了。

获得指定日期所属季度,返回的是季度枚举对象Quarter

源码的DateTimeof(date)quarterEnum()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,quarter()上面有源码分析,结论是获取 获得当前日期所属季度,从1开始计数

Quarterof(int)就是把对应的数值转为对应的枚举Quarter

获得月份,从0开始计数

源码的DateTimeof(date)month()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得月份,返回月份枚举对象Month

源码的DateTimeof(date)monthEnum()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,month()是获得月份,从0开始计数

Monthof(int)就是把对应的数值转为对应的枚举Month

获得指定日期是所在年份的第几周

此方法返回值与一周的第一天有关,比如:

2016年1月3日为周日,如果一周的第一天为周日,那这天是第二周(返回2)

如果一周的第一天为周一,那这天是第一周(返回1)

跨年的那个星期得到的结果总是1

源码的DateTimeof(date)weekOfYear()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期是所在月份的第几周

源码的DateTimeof(date)year()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期是这个日期所在月份的第几天

源码的DateTimeof(date)dayOfMonth()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期是这个日期所在年的第几天

源码的DateTimeof(date)dayOfYear()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期是星期几,1表示周日,2表示周一

源码的DateTimeof(date)dayOfWeek()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期是星期几

源码的DateTimeof(date)dayOfWeekEnum()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,dayOfWeek()是获得指定日期是星期几,1表示周日,2表示周一

Weekof(int)就是把对应的数值转为对应的枚举Week

获得指定日期的小时数部分

源码的DateTimeof(date)hour(is24HourClock)可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

is24HourClock DateFieldHOUR_OF_DAY : DateFieldHOUR :is24HourClock 是否24小时制

DateFieldHOUR_OF_DAY :小时,用于24小时制

DateFieldHOUR :小时,用于12小时制

获得指定日期的分钟数部分

例如:10:04:15250 =》 4

源码的DateTimeof(date)minute()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期的秒数部分

源码的DateTimeof(date)second()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期的毫秒数部分

源码的DateTimeof(date)millisecond()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

是否为上午

源码的DateTimeof(date)isAM()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

做了一个判断 CalendarAM == getField(DateFieldAM_PM)

是否为下午

源码的DateTimeof(date)isPM()可拆解成两部分

DateTimeof(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

做了一个判断 CalendarPM== getField(DateFieldAM_PM)

返回今年

源码的year(date())可拆解成两部分

DateTimedate()

返回当前月份

源码的month(date())可拆解成两部分

DateTimedate()

返回当前月份

源码的monthEnum(date())可拆解成两部分

DateTimedate()

返回当前日期所在年份的第几周

源码的weekOfYear(date())可拆解成两部分

DateTimedate()

返回当前日期所在月份的第几周

源码的weekOfMonth(date())可拆解成两部分

DateTimedate()

返回当前日期是这个日期所在月份的第几天

源码的dayOfMonth(date())可拆解成两部分

DateTimedate()

返回当前日期是星期几

源码的dayOfWeek(date())可拆解成两部分

DateTimedate()

返回当前日期是星期几

源码的dayOfWeekEnum(date())可拆解成两部分

DateTimedate()

返回当前日期的小时数部分

源码的hour(date(), is24HourClock)可拆解成两部分

DateTimedate()

返回当前日期的分钟数部分

源码的minute(date())可拆解成两部分

DateTimedate()

返回当前日期的秒数部分

源码的second(date())可拆解成两部分

DateTimedate()

返回当前日期的毫秒数部分

源码的millisecond(date())可拆解成两部分

DateTimedate()

获得指定日期年份和季节

格式:[20131]表示2013年第一季度

源码的yearAndQuarter(calendar(date))可拆解成两部分

yearAndQuarter方法代码分析:

获取年份 calget(CalendarYEAR)

获取季度 calget(CalendarMONTH) / 3 + 1

然后通过StringBuilder拼接字符串

获得指定日期区间内的年份和季节

如上面代码所示,有个判空处理

然后,写了一个while循环,把符合条件的年份和季度存到LinkedHashSet里,存完一个年份和季度的字符串后,会给开始时间增加3个月,如果开始时间超出结束时间,让结束时间为开始时间,处理完后结束循环

用SimpleDateFormat这个类来获取当前系统时间 下面为例子程序

import javatextSimpleDateFormat;

import javautilDate;

public class Time {

public static void main(String[] args) {

SimpleDateFormat format = new SimpleDateFormat(

"yyyy年-M月-d日 kk时:m分:ss秒 E ");

String s = formatformat(new Date());

Systemoutprintln(s);

}

}

输出:2008年-7月-14日 21时:50分:02秒 星期一

import javautil;

import javatext;

//1由用户输入日期

String input = "2008-10-12"; //这个客户端输入

//把用户输入的日期转成 java 日期类

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

Date d = dfparse(input);

//输出结果

Calendar cal = CalendargetInstance();

calsetTime(d);

int day = calget(DAY_OF_MONTH); //日

int month = calget(MONTH) + 1; //月(从0开始, 一般加1,实际是否 Calendar 里面常量的值决定的)

int year = calget(YEAR ); //年

Calendar c = CalendargetInstance();

csetTimeInMillis(dategetTime());

cadd(CalendarDATE, amount);

strformatDate(date4, "yyyy-MM-dd");

//dategetTime() 当前日期

//amount 传入的N天数

例如:

SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd"); //字符串转换

Calendar c = CalendargetInstance();

//new Date()getTime();这个是获得当前电脑的时间,你也可以换成一个随意的时间

csetTimeInMillis(new Date()getTime());

cadd(CalendarDATE, 5);//天后的日期

Date date= new Date(cgetTimeInMillis()); //将c转换成Date

Systemoutprintln("date="+formatDateformat(date4));

获取日期型字段中的年月日字符的具体代码如下:

string date="2010-5-11";

DateTime dt=DateTimeParse(date);

string yy=dtYearToString();

string mm=dtMonthToString();

string dd=dtDayToString();

上述代码中yy为获取得到的年份2010,mm为获取得到的月份5,dd为获取得到的日子1

扩展资料

基本运算符

C使用运算符(operator)来代表算术运算。例如,+运算符可以使它两侧的值加在一起。如果您觉得术语“运算符”听起来比较奇怪,那么请您记住那些东西总得有个名称。

与其被称之为“那些东西”或“数学符号”,被称之为“运算符”似乎看起来更专业一些。

赋值运算符

在C里,符号=不表示“相等”,而是一个赋值运算符。下面的语句是将2014赋给num的变量。 

num=2014;

也就是说,符号=的左边是一个变量名,右边是赋给该变量的值。符号=被称为赋值运算符(assignment operator)。再次强调不要把这行代码读做“num等于2014”,而应该读为“将值2014赋给变量num”。赋值运算符的动作是从右到左。

或许变量的名字和变量值之间的区别看起来微乎其微,但是请考虑下面的常量计算机语句: 

i=i+1;

在数学上,该语句没有任何意义。如果您给一个有限的数加1,结果不会“等于”这个数本身。它意味着“找到名字为i的变量的值:然后对那个值加1,然后将这个新值赋给名字为i的变量”。

像下面的这条语句: 2014=num;

在C中是没有意义的(确切的说是无效的),原因是2014只是一个常量。您不能将一个值赋给一个常量;那个常量本身就是它的值了。所以,当您准备键入代码时请记住在符号=左边的项目必须是一个变量的名字。

实际上,赋值运算符左边必须指向一个存储位置。最简单的方法是使用变量的名字,但是以后您会看到,“指针”也可以指向一个存储位置。更普遍地,C使用术语“可修改的左值”(modifiable Ivalue)来标志那些我们可以为之赋值的实体。

参考资料

百度百科——c语言

以上就是关于java获取date类型的当前日期 格式YYYY-MM-dd hh:mm:ss全部的内容,包括:java获取date类型的当前日期 格式YYYY-MM-dd hh:mm:ss、java如何得到系统时间,Date型、3hutool源码分析:DateUtil(时间工具类)-获取日期的各种内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9507067.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存