JAVA各种时间类型的取得

package com.hello.test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;

import org.apache.log4j.Logger;

public class DateUtil {

	private static Logger log = Logger.getLogger(DateUtil.class);

	private static String defaultDatePattern = null;

	private static String timePattern = "HH:mm";

	public static Date getSystemTime() {
		Calendar now = Calendar.getInstance();
		return now.getTime();

	}

	public static synchronized String getDatePattern() {
		Locale locale = Locale.CHINA; // LocaleContextHolder.getLocale();

		try {
			defaultDatePattern = ResourceBundle.getBundle("yyyy-MM-dd", locale).getString("date.format");
		} catch (MissingResourceException mse) {
			defaultDatePattern = "yyyy-MM-dd";
		}

		return defaultDatePattern;
	}

	public static final String getDate(Date aDate) {
		SimpleDateFormat df = null;
		String returnValue = "";

		if (aDate != null) {
			df = new SimpleDateFormat(getDatePattern());
			returnValue = df.format(aDate);
		}

		return (returnValue);
	}

	public static final Date convertStringToDate(String aMask, String strDate) {
		SimpleDateFormat df = null;
		Date date = null;
		df = new SimpleDateFormat(aMask);

		if (log.isDebugEnabled()) {
			log.debug("converting '" + strDate + "' to date with mask '" + aMask + "'");
		}

		try {
			date = df.parse(strDate);
		} catch (ParseException pe) {
			log.error("ParseException: " + pe);
		}

		return (date);
	}

	public static String getTimeNow(Date theTime) {
		return getDateTime(timePattern, theTime);
	}

	public static Calendar getToday() throws ParseException {
		Date today = new Date();
		SimpleDateFormat df = new SimpleDateFormat(getDatePattern());

		// This seems like quite a hack (date -> string -> date),
		// but it works ;-)
		String todayAsString = df.format(today);
		Calendar cal = new GregorianCalendar();
		cal.setTime(convertStringToDate(todayAsString));

		return cal;
	}

	public static Date getMonday(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		if (c.get(Calendar.DAY_OF_WEEK) == 1) {
			date = DateUtil.addDays(date, -7);
			c.setTime(date);
		}

		c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
		String mondayString = DateUtil.format(c.getTime(), "yyyy-MM-dd");
		mondayString = mondayString + " 00:00:00";
		return convertStringToDate("yyyy-MM-dd HH:mm:ss", mondayString);
	}

	public static Date getFriday(Date date) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
		String fridayString = format(c.getTime(), "yyyy-MM-dd");
		fridayString = fridayString + " 23:59:59";
		return convertStringToDate("yyyy-MM-dd HH:mm:ss", fridayString);

	}

	public static final String getDateTime(String aMask, Date aDate) {
		SimpleDateFormat df = null;
		String returnValue = "";

		if (aDate == null) {
			log.error("aDate is null!");
		} else {
			df = new SimpleDateFormat(aMask);
			returnValue = df.format(aDate);
		}

		return (returnValue);
	}

	public static final String convertDateToString(Date aDate) {
		return getDateTime(getDatePattern(), aDate);
	}

	public static Date convertStringToDate(String strDate) {
		Date aDate = null;

		try {
			if (log.isDebugEnabled()) {
				log.debug("converting date with pattern: " + getDatePattern());
			}

			aDate = convertStringToDate(getDatePattern(), strDate);
		} catch (Exception pe) {
			log.error("Could not convert '" + strDate + "' to a date, throwing exception");

		}

		return aDate;
	}

	public static int dayDiff(Date first, Date second) {

		long msPerDay = 1000 * 60 * 60 * 24;
		long diff = (first.getTime() / msPerDay) - (second.getTime() / msPerDay);

		Long convertLong = new Long(diff);
		return convertLong.intValue();
	}

	public static long dayDiffMilSecond(Date first, Date second) {

		long diff = first.getTime() - second.getTime();
		Long convertLong = new Long(diff);
		return convertLong;
	}

	public static String format(Date date, String pattern) {
		if (date == null)
			return "";
		SimpleDateFormat formatter = new SimpleDateFormat(pattern);
		return formatter.format(date);
	}

	static public final Date addDays(Date target, int days) {
		long msPerDay = 1000 * 60 * 60 * 24; // 一天的毫秒数
		long msTarget = target.getTime(); // 返回从一个特定的日期(1970。。)到现在经过的毫秒数。
		long msSum = msTarget + (msPerDay * days);
		Date result = new Date();
		result.setTime(msSum); // 根据毫秒设置日期
		return result;
	}

	public static Date beforeDays(Date target, int days) {
		long msPerDay = 1000 * 60 * 60 * 24; // 一天的毫秒数
		long msTarget = target.getTime(); // 返回从一个特定的日期(1970。。)到现在经过的毫秒数。
		long msSum = msTarget - (msPerDay * days);
		Date result = new Date();
		result.setTime(msSum); // 根据毫秒设置日期
		return result;
	}

	public static Date formatString(String time, String format) {
		try {
			SimpleDateFormat formater = new SimpleDateFormat(format);
			return formater.parse(time);
		} catch (Exception e) {
			return null;
		}
	}

	public static Date getFirstDateOfMonth(Date date) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		calendar.set(Calendar.DAY_OF_MONTH, 1);
		calendar.set(Calendar.HOUR_OF_DAY, 0);
		calendar.set(Calendar.MINUTE, 0);
		calendar.set(Calendar.SECOND, 0);
		return calendar.getTime();
	}

	public static Date getLastlyDateOfMonth(Date date) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		int month = calendar.get(Calendar.MONTH);
		calendar.set(Calendar.MONTH, month + 1);
		calendar.set(Calendar.DAY_OF_MONTH, 1);
		calendar.set(Calendar.HOUR_OF_DAY, 23);
		calendar.set(Calendar.MINUTE, 59);
		calendar.set(Calendar.SECOND, 59);
		calendar.add(Calendar.DAY_OF_MONTH, -1);
		return calendar.getTime();
	}

	public static Date getFirstDateOfNextMonth(Date date) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		int month = calendar.get(Calendar.MONTH);
		calendar.set(Calendar.MONTH, month + 1);
		calendar.set(Calendar.DAY_OF_MONTH, 1);
		calendar.set(Calendar.HOUR_OF_DAY, 0);
		calendar.set(Calendar.MINUTE, 0);
		calendar.set(Calendar.SECOND, 0);
		return calendar.getTime();

	}

	public static String getCurrentDayPath() {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
		Date now = new Date();
		String filePath = sdf.format(now) + "/";
		sdf = new SimpleDateFormat("MM");
		filePath += sdf.format(now) + "/";
		sdf = new SimpleDateFormat("dd");
		filePath += sdf.format(now) + "/";

		return filePath;
	}
}
 

 

芒果YOLOv12改进90:检测头篇之ShareSepHead:即插即用|原创新颖共享Sep检测头,更省参数量,更高效,打造新型YOLOv8检测器,精度高效涨点 阅读详情

相关推荐

Homebrew国内镜像自动安装全攻略:从零到精通

本文提供了一份详尽的Homebrew国内镜像自动安装指南,旨在帮助Mac用户,特别是国内开发者,快速、无痛地部署这一强大的包管理器。通过使用优化的国内镜像脚本,实现一键自动安装,有效解决官方源访问缓慢或失败的问题。文章从安装前准备、脚本执行步骤、原理讲解到日常使用命令和常见问题排查,提供了从零到精通的完整路径,让用户在短时间内掌握Homebrew的核心用法,提升开发与工作效率。

a0b1c2d3的专栏 969

Java中时间类型得整理

java的是时间类型我分为了 基础类跟新增类,基础类就是比较老的类库,但是java在1.8之后又新增了一些时间类型。

kkkkatoq的博客 876

别急着让AI画板!聊聊Cadence Allegro X AI和OrCAD X在实际PCB项目中的真实体验

本文分享了Cadence Allegro X AI与OrCAD X在PCB设计中的实际应用体验,探讨了AI辅助Layout的效率提升与潜在陷阱。通过高速ADC采集板案例,详细对比了AI与传统方法在电源平面分割、低速信号布线等任务中的表现,并总结了人机协作的最佳实践,为工程师提供实用参考。

weixin_30836759的博客 2219

java时间类型与数据库 时间类型的匹配

摘要:Java时间处理API经历了从传统Date/Calendar到现代java.time包的演进。传统API存在线程不安全、设计混乱等问题,已不推荐使用。Java8引入的java.time包基于Joda-Time,提供LocalDate、LocalTime、LocalDateTime等线程安全类型,支持显式时区处理(ZonedDateTime)和时间戳(Instant)。现代API在数据库映射中也更清晰:LocalDate→DATE,LocalDateTime→TIMESTAMP/DATETIME,Zon

2401_85190702的博客 637

知识图谱_知识图谱 | 知识图谱做用户画像

导读:最近一直在思考怎么用知识图谱做推荐,但是目前能知道的内容都是基于路径的推荐和基于图特征的推荐,所以能不能换一个角度,探究一下用知识图谱怎么做用户画像,因为画像也是推荐系统重要的一部分。现在的知识图谱+推荐怎么做的传统的用户画像怎么做现在的知识图谱+推荐怎么做的?基于路径:可以理解成基于图谱的多路径召回,或者多路径推荐,然后根据路径的转移概率进行排序从而达到推荐的效果,基于路径比较适合简单的推...

weixin_28801659的博客 1460

Amazon Skills:51个AI技能赋能亚马逊运营,从选品到广告全链路分析

在电商运营领域,数据分析和自动化工具正成为提升效率的关键。其核心原理在于将专业经验转化为结构化指令,使AI能够执行标准化流程。这种技术价值体现在降低专业门槛、提升决策效率,尤其适用于亚马逊这类数据驱动的电商平台。通过将选品、关键词研究、FBA费用计算、PPC广告优化等运营框架编码为可执行指令,AI助手能够模拟专家思维进行市场分析。Amazon Skills项目正是这一理念的实践,它提供51个覆盖运营全链路的技能模块,让卖家在自然对话环境中获得专业分析支持,实现从市场研究到利润核算的自动化工作流。

weixin_27134143的博客 1304

Mysql数据的时间类型对应的java时间类型

Mysql 与 java 的时间类型 MySql的时间类型有 Java中与之对应的时间类型   date                 java.sql.Date   Datetime          java.sql.Timestamp   Timestamp       java.sql.Timestamp   Time                 java.sql.Time   Ye...

fouling的博客 4万+

ABB机器人刷功能选项全一篇就够——不怕丢失程序和IO配置数据

ABB机器人刷功能选项

m0_66701835的博客 1260

Mysql时间类型与JAVA时间类型的转换

MySql的时间类型有             Java中与之对应的时间类型 date                        java.sql.Date datetime                    java.sql.Timestamp timestamp                   java.sql.Timestamp time                   ...

liuxinglanyue的专栏 992

基于STM32单片机的环境监测系统设计与实现

综上所述,基于STM32单片机的环境监测系统具有良好的实时性、准确性和稳定性,能够满足环境监测的需求。本系统的研究意义在于,首先,它能够为用户提供准确的室内空气质量信息,帮助用户了解室内环境的质量状况,从而采取相应的措施来改善室内环境。本文设计并实现了一种基于STM32单片机的环境监测系统,该系统能够实时监测并显示室内环境的温湿度、甲醛浓度以及二氧化碳浓度,为用户提供准确的空气质量信息。实验过程中,我们模拟了不同的环境条件,包括温湿度变化、甲醛和二氧化碳浓度的波动等,以测试系统的实时性、准确性和稳定性。

3254968421的博客 2万+

C-Lodop打印服务系统存在任意文件读取

C-Lodop打印服务系统存在任意文件读取

weixin_43567873的博客 2875

java时间类型的转换

java时间类型的转换 我们在写代码时往往会遇到时间类型的转换问题,由于在Java中的时间是java.util.Date类型,而数据库的时间却是Java.sql.Date类型。所以,不能直接获取时间,要通过转换时间格式 前端传过去的时间格式为json字符串,在和数据库交互的时候需要转换成和数据库一致的类型 源代码 ```java package cn.wolfcode.crm.common; import java.util.Date; import org.springframework.form

YiYang_sky的博客 358

【AI理论学习】手把手推导扩散模型:Diffusion Models(DDPM)

生成扩散模型DDPM如下图所示分为前向、逆向两个过程,它首先通过不断往原始清晰数据中添加噪声使其变成标准高斯噪声(前向过程),而后期望从标准高斯噪声中还原原始数据(逆向过程)。若能实现,那便可从已知的标准高斯分布中采样一个噪声数据,而后利用DDPM模型生成符合原始数据分布的新数据。 Diffusion模型包含两个过程:数学符号:y∝xy\propto xy∝x:y正比于x,即y随着x增大而线性增大。 条件概率:贝叶斯公式:p(A∣B)=p(B∣A)×p(A)p(B)p(A|B)=\frac{p(B|A)\

小哲的博客 1512

Java中的时间类型处理

在Java中,时间类型的应用一直叫我脑壳疼。 在计算(比较时间的先后、某一个时间节点的前后时间推算,如“最近一个周一是在几月几号”),这样的问题,对于计算机(或者说代码)来说,时间的计算就是以Unix元年开始的相对时间长度。Unix元年好比[数轴]上的[原点]。 而对于用户(people)来说,当然是希望能够看到类似于“2019-09-26”或者是“2019-09-26 08:08:08”这样的东...

WN-YoungKun的博客 1026

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java读mysql时间类型_MySql与Java的时间类型

MySql与Java的时间类型MySql的时间类型有 Java中与之对应的时间类型date java.sql.DateDatetime java.sql.TimestampTimestamp...

weixin_35709751的博客 368

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

php和mysql时间类型,MySql与Java的时间类型

MySql与Java的时间类型 MySql的时间类型有Java中与之对应的时间类型 datejava.sql.Date Datetimejava.sql.Timestamp Timestampjava.sql.Timestamp Timejava.sql.Time Yearjava.sql.Date 对其进行分析 参考MySql的reference manual Date: A date. The...

weixin_31107269的博客 153

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java时间定义什么类型_1 Java中的时间类型

总结:sql中的时间转 util的时间直接赋值即可;反过来,必须先吧util下的时间转换成毫秒,再通过sql的构造器生成sql的时间格式。1Java中的时间类型java.sql包下给出三个与数据库相关的日期时间类型,分别是:lDate:表示日期,只有年月日,没有时分秒。会丢失时间;lTime:表示时间,只有时分秒,没有年月日。会丢失日期;lTimestamp:表示时间戳,有年月日时分秒,以及...

weixin_39922929的博客 9351

MySql Java 时间类型

1Mysql java 时间类型对应关系 MySql的时间类型有          Java中与之对应的时间类型 date                                           java.sql.Date Datetime                                    java.sql.Timestamp Timestamp      

UntileBAT的博客 694

【JAVA中的时间类型】

以上是Java中常用的时间类型及其示例代码。

qq_31532979的贺公子之数据科学与艺术博客,致力于科技向善,拥抱开源,要用技术的影响力来领导团队,而不是威权和职位! 620

mysql time类型 java_Mysql数据的时间类型对应的java时间类型

Mysql 与 java 的时间类型MySql的时间类型有 Java中与之对应的时间类型date java.sql.DateDatetime java.sql.TimestampTimestamp java.sql.TimestampTime java.sql.TimeYear ...

weixin_39754831的博客 3562

Java中的时间类型介绍及使用场景

Java提供了多种时间类型以满足不同场景需求: Date类:Java最早的日期时间类,简单但功能有限,适合旧系统兼容和时间戳操作。 Calendar类:Date的改进版,提供更丰富的日期操作方法,适合获取/设置日期组成部分和复杂计算。 LocalDateTime(Java8+):线程安全的新API,包含日期和时间,适合现代应用开发和复杂计算。 LocalDate(Java8+):仅处理日期(年月日),适合生日、纪念日等纯日期场景。 LocalTime(Java8+):仅处理时间(时分秒),适合营业时间等纯时

世界就是一个草台班子 1101

java时间类型判断是否为空

开发者相关视频讲解:美国禁用中国大学MATLAB快四年,国产替代完成了吗?Java时间类型判断是否为空 1. 整体流程 journey title Java时间类型判断是否为空 section 步骤 - 开发者创建Java程序 - 刚入行的小白向开发者询问如何判断时间类型是...

weixin_32080327的博客 218

Java时间类型转换

String转Long Long long=new SimpleDateFormat("yyyyMMddHHmmss").parse(String).getTime();    Long转String  String string = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date(Long)); ...

weixin_30587927的博客 198

java时间类型判空

Java时间类型判空 在Java编程中,我们经常会使用到时间类型,比如Date、LocalDateTime等等。在处理时间类型数据时,经常会遇到需要判断时间类型是否为空的情况。本文将介绍在Java中如何判断时间类型是否为空,并给出一些代码示例。 为什么需要判断时间类型是否为空 在实际开发中,我们经常会从数据库、用户输入或者...

weixin_41243270的博客 764

MySql与Java的时间类型

MySql的时间类型有 Java中与之对应的时间类型date java.sql.DateDatetime java.sql.TimestampTimestamp ...

weixin_30278311的博客 338
上一篇: Linux下MYSQL配置文件my.cnf中文解释
下一篇: Service Component Runtime
Snoopy7713
博客等级 码龄21年 17粉丝 681原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值