JAVA如何单独取得"年","月","日"...

JAVA如何单独取得"年","月","日"...,第1张

//CalendarTestjava

//Calendar对象能很好解决你的问题

import javautilCalendar;

public class CalendarTest {

public static void main(String[] args) {

Calendar c = CalendargetInstance();

int y=cget(CalendarYEAR);//年

int M = cget(CalendarMONTH)+1;//月,注意这里要加1,计算机第一个月从0开始

int d = cget(CalendarDATE);//日

Systemoutprintln("年:"+y);

Systemoutprintln("月:"+M);

Systemoutprintln("日:"+d);

String dateStr = "";

dateStr+=y+"-"+(M<10"0":"")+M+"-"+(d<10"0":"")+d;

Systemoutprintln(dateStr);

}

}

//得到long类型当前时间

long l = SystemcurrentTimeMillis();

//new日期对象

Date date = new Date(l);

//转换提日期输出格式

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

Systemoutprintln(dateFormatformat(date));

DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Date dt = new Date();

fxsetDate(dfparse(dfformat(dt)));

不过这样做有一个问题就是,即使前面将Date型格式化,存到实体类型里的Date仍然不带有格式,直接打印实体的Date型会默认直接调用Date类的toString方法,而Date类的toString方法默认格式是dow mon dd hh:mm:ss zzz yyyy,所以打出的格式会与你想存入的不符合,其实就相当于直接将dt存入了实体中。如果想取出带格式的除非再进行转化,否则得话还是建议把属性改成String型的。

其实系统默认的都是毫秒数的时间戳, 所以你想要的2017-01-16 17:00:00 不是提取的, 而是格式化的

new SimpleDateFormat("yyyy-MM-dd HH:00:00")format(SystemcurrentTimeMillis());

package util;

import javamathBigDecimal;

import javatextParseException;

import javatextSimpleDateFormat;

import javautilCalendar;

import javautilDate;

/

获取系统时间

/

public class DateUtil {

/ 日志对象 /

// private static Logger logger = LoggergetLogger(SystemUtilclass);

/ 获取年份 /

public static final int YEAR = 1;

/ 获取年月 /

public static final int YEARMONTH = 2;

/ 获取年月日 /

public static final int YEARMONTHDAY = 3;

/ 获取年月日,小时 /

public static final int YMD_HOUR = 4;

/ 获取年月日,小时,分钟 /

public static final int YMD_HOURMINUTE = 5;

/ 获取年月日,时分秒 /

public static final int FULL = 6;

/ 获取年月日时分秒 格式:yyyyMMddHHmmss /

public static final int UTILTIME = 7;

/

根据指定时间格式类型得到当前时间

@param type

时间类型

@return String 字符串时间

/

public static synchronized String getCurrentTime(int type) {

String format = getFormat(type);

SimpleDateFormat timeformat = new SimpleDateFormat(format);

Date date = new Date();

return timeformatformat(date);

}

/

返回当前系统时间的年月日

@return

/

public static synchronized String getCurrentTime() {

SimpleDateFormat timeformat = new SimpleDateFormat("yyyy-MM-dd");

Date date = new Date();

return timeformatformat(date);

}

/

根据参数格式,格式化当前日期

@param format

@return

/

public static synchronized String getDateString(String format) {

SimpleDateFormat timeformat = new SimpleDateFormat(format);

Date date = new Date();

return timeformatformat(date);

}

/

根据指定时间格式类型,格式化时间格式

@param type

时间格式类型

@return

/

private static String getFormat(int type) {

String format = "";

if (type == 1) {

format = "yyyy";

} else if (type == 2) {

format = "yyyy-MM";

} else if (type == 3) {

format = "yyyy-MM-dd";

} else if (type == 4) {

format = "yyyy-MM-dd HH";

} else if (type == 5) {

format = "yyyy-MM-dd HH:mm";

} else if (type == 6) {

format = "yyyy-MM-dd HH:mm:ss";

} else if (type == 7) {

format = "yyyyMMddHHmmss";

} else {

throw new RuntimeException("日期格式参数错误");

}

return format;

}

public static int getYear(String dateString) {

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

Date date = null;

try {

date = ddparse(dateString);

Calendar cal = CalendargetInstance();

calsetTime(date);

return calget(CalendarYEAR);

} catch (Exception e) {

throw new RuntimeException(e);

}

}

public static int getMonth(String dateString) {

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

Date date = null;

try {

date = ddparse(dateString);

Calendar cal = CalendargetInstance();

calsetTime(date);

return calget(CalendarMONTH)+1;

} catch (Exception e) {

throw new RuntimeException(e);

}

}

public static int getDay(String dateString) {

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

Date date = null;

try {

date = ddparse(dateString);

Calendar cal = CalendargetInstance();

calsetTime(date);

return calget(CalendarDAY_OF_MONTH);

} catch (Exception e) {

throw new RuntimeException(e);

}

}

public static Date StringToDate(String dateStr, String formatStr) {

SimpleDateFormat dd = new SimpleDateFormat(formatStr);

Date date = null;

try {

date = ddparse(dateStr);

} catch (ParseException e) {

eprintStackTrace();

}

return date;

}

/

当前日期和参数日期距离的小时数 日期格式:yyyy-MM-dd HH:mm:ss

@param date

@return

/

public static double getHours(String date) {

SimpleDateFormat timeformat = new SimpleDateFormat(

"yyyy-MM-dd HH:mm:ss");

try {

Date d = new Date();

Date d1 = timeformatparse(date);

long temp = dgetTime() - d1getTime();

double f = temp / 3600000d;

BigDecimal b = new BigDecimal(f);

double f1 = bsetScale(2, BigDecimalROUND_HALF_UP)doubleValue();

return f1;

} catch (Exception e) {

eprintStackTrace();

throw new RuntimeException(e);

}

}

public static void main(String a[]) {

try {

int aa = getYear("2012-01-08");

Systemoutprintln(aa);

} catch (Exception e) {

eprintStackTrace();

}

}

}

public static void main(String[] args) {

Calendar calendar = CalendargetInstance(LocalegetDefault());

Systemoutprintln(calendarget(CalendarYEAR));

Systemoutprintln(calendarget(CalendarMONTH)+1);

Systemoutprintln(calendarget(CalendarDATE));

}

3行代码分别用于获取当前时间的年、月、日,获取月份的时候需要+1,因为月份取的索引值,从0-11

以上就是关于JAVA 如何单独取得"年","月","日"...全部的内容,包括:JAVA 如何单独取得"年","月","日"...、怎么在当前Java程序中获取当前年月日、在java中如何获得当前年份月份时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9517128.html

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

发表评论

登录后才能评论

评论列表(0条)

保存