Java 获取数字之前的完整日期时间字符串

Java 字符串格式化:Formatter 和 printf() 的使用 在 Java 编程中,字符串格式化是一项基本且重要的技能。它允许开发者以特定的方式将各种类型的数据(如数字、日期、字符串等)转换为字符串,以便于显示、存储或传输。Java 提供了多种方法来实现字符串格式化,其中最常用的是、Java 15 引入的实例方法,以及和类中的printf()方法。这些方法都依赖于类,该类使用类似于 C 语言printf()函数的格式代码。本文将深入浅出地介绍这些格式化技术,并通过代码示例帮助读者理解其应用。 阅读详情

最近碰到了一个需求:

根据给出的一个时间字符串,例如:8小时前,3分钟前,45秒前这样的字符串,要求来获取这个时间点所对应的完整日期时间字符串。


以下是实现的效果:


代码:

/**
	 * 获取当前字符串所对应的完整日期表达形式的字符串
	 * 
	 * @param timeStr
	 * @return
	 */
	public static Object getExchangedReleaseTime(String timeStr) {
		if (timeStr.contains("时")) {
			return getTimeByHour(-returnNumFromStr(timeStr));
		} else if (timeStr.contains("分")) {
			return getTimeByMinute(-returnNumFromStr(timeStr));
		} else if (timeStr.contains("秒")) {
			return getTimeBySecond(-returnNumFromStr(timeStr));
		} else {
			return timeStr;
		}
	}

	/**
	 * 从含有数字的字符串中解析出Integer类型的数字
	 * 
	 * @param str
	 * @return
	 */
	public static int returnNumFromStr(String str) {
		String regEx = "[^0-9]";
		Pattern p = Pattern.compile(regEx);
		Matcher m = p.matcher(str);
		String tempStr = m.replaceAll("").trim();
		return Integer.valueOf(tempStr).intValue();
	}

	/**
	 * 获取当前时间之前或之后几小时 hour
	 * 
	 * @param hour
	 * @return
	 */
	public static String getTimeByHour(int hour) {
		Calendar calendar = Calendar.getInstance();
		calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY)
				+ hour);
		return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar
				.getTime());
	}

	/**
	 * 获取当前时间之前或之后几分钟 minute
	 * 
	 * @param minute
	 * @return
	 */
	public static String getTimeByMinute(int minute) {
		Calendar calendar = Calendar.getInstance();
		calendar.add(Calendar.MINUTE, minute);
		return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar
				.getTime());
	}

	/**
	 * 获取当前时间之前或之后几秒钟 second
	 * 
	 * @param second
	 * @return
	 */
	public static String getTimeBySecond(int second) {
		Calendar calendar = Calendar.getInstance();
		calendar.add(Calendar.SECOND, second);
		return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar
				.getTime());
	}

所以要使用的话直接调用getExchangedReleaseTime这个方法即可——>通过解析含有“时分秒”的字符串进行组合显示要求的日期时间字符串。

(当然获取之后的时间只要把方法中的“-”号去掉即可)



[3D检测系列-PV-RCNN] PV-RCNN实战指南:从论文解析到代码调试全流程 本文提供了PV-RCNN在3D目标检测领域的实战全流程指南。文章深入解析了其Point-Voxel融合的核心思想,并详细演示了从环境搭建、数据准备、代码复现到模型训练与调试的具体步骤,特别针对常见的报错问题给出了解决方案,帮助开发者高效掌握这一经典算法。 阅读详情

相关推荐

半导体EAP系统入门指南:从零开始理解设备自动化程序(附实战案例)

本文深入浅出地介绍了半导体制造中EAP(设备自动化程序)系统的核心作用与工作原理。EAP作为连接MES与生产设备的桥梁,负责指令翻译、数据采集与实时控制,是实现晶圆厂全自动化的关键。文章通过对比手动与自动模式,阐述了EAP在提升效率、保障良率方面的价值,并提供了一个实战案例,帮助读者从零构建对半导体CIM体系中这一关键组件的理解。

weixin_29200741的博客 736

java时间获取

java时间比较

qq_34786108的博客 1054

(精读)揭示多元时间序列的高阶组织

时间序列分析已经被证明是刻画生物学、神经科学和经济学中的一些现象以及理解它们的一些潜在动力学特征的有力方法。尽管针对多元时间序列的分析已经提出了很多方法,但大多数方法都忽略了非成对相互作用对涌现动力学的影响。在这里,我们提出了一个新的框架来刻画多元时间序列中高阶依赖关系的时间演化。利用网络分析和拓扑学,我们表明,与传统的基于成对统计的工具不同,我们的框架鲁棒地区分了耦合混沌映射的各种时空状态,包括混沌动力学阶段和各种类型的同步。

weixin_53406075的博客 2412

java中时间的往前推N小时

/** * 获取八小时之前的结束时间 * @return */ public static String getDateRoll(){ Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); calendar.add(Calendar.HOUR,-8); cale...

非衣鲲化的博客 2134

Python中的串口通信库pyserial(基础)

pyserial是一个跨平台的库,可以在多个操作系统上使用,包括Windows、Linux和MacOS。:flushInput方法用于清除输入缓冲区中的所有数据,flushOutput方法用于清除输出缓冲区中的所有待发送数据。:PySerial允许在创建Serial对象后,通过修改对象的属性来设置串口参数,如波特率、数据位、校验位和停止位。同时,也提供了方法或属性来检查串口的状态,如是否已打开。:sendBreak方法用于向串口发送一个BREAK信号,这可以用于向连接的设备发送一个中断或重置信号。

weixin_44217158的博客 1万+

如何用Python打造PubMed API客户端:科研文献检索自动化实践

PubMed提供了官方的Entrez E-utilities API接口,支持程序化检索文献,但直接调用API需处理请求重试、参数封装、数据解析等问题。批量获取文献ID及结构化详情(标题、作者、DOI等)内置重试机制,应对网络波动或API限流统一数据输出格式,便于后续分析(如文献计量、AI文本处理)灵活适配不同检索需求(如指定数据库、结果数量)本文实现的PubMed API客户端,通过封装API请求、重试机制、数据解析,让科研文献检索从“手动点击”变为“代码自动化”。

ASKCOS博客 358

JAVA获取系统时间N小时前/后的时间

取时间,案例获取12小时前的时间 // 获取12小时前的时间 public static String time_12(){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.HOUR,-12); String time = new SimpleDateFormat("yyyyMMddHHmm").format(calendar.getTime());

Shawn_RJF的博客 3094

嵌入式硬件中AI硬件设计方法与技巧

嘉立创EDA推出AI助手Kimi插件,为PCB设计提供智能支持。该插件具备四大核心功能:AI问答助手可解答各类电路设计问题;元件查询功能直接展示参数和应用场景;智能分析网表可检测潜在问题;电路图识别能解析图纸结构并提供改进建议。用户需通过扩展插件安装,并配置Kimi API密钥后使用。该工具旨在提升工程师的设计效率,减少查阅资料时间,特别适合项目交接和设计自查场景。

嵌入式技术开发 1872

java获取当前年份、月份和日期字符串等

另外也可以使用Date类的实例对象配合SimpleDateFormat类的实例对象来获取当前日期字符串。首先创建一个Calendar类的实例对象,Calendar类属于java.util包。Java获取当前年份、月份和日期是通过Calendar类的实例对象来获取的。获取当月的第一天和最后一天的字符串。获取上个星期第一天的某个小时的时间戳。获取当前年份、月份和日期等。

weixin_50993955的博客 1万+

学Simulink——控制执行场景实例:基于Simulink的智能车辆电子稳定控制(ESC)仿真

本文完成了基于 Simulink 的智能车辆电子稳定控制(ESC),实现了:✅ 构建含轮胎非线性的车辆动力学模型✅ 设计滑模横摆稳定性控制器✅ 实现四轮制动力分配逻辑✅ 验证在双移线低附着场景下的卓越稳定性✅ 为主动安全控制系统开发提供完整范式。

xiaoheshang_123的博客 528

Simulink开发项1000例实战专栏--实例17:基于 Simulink 的 BLDC 电机驱动系统的设计与实现

项目背景无刷直流电机(BLDC)因其高效、可靠、低维护的特点,广泛应用于电动汽车、无人机、工业自动化等领域。基于 Simulink 的 BLDC 电机驱动系统可以实现对电机的精确控制,包括速度控制、位置控制和转矩控制。通过仿真和测试,可以优化控制算法,提高系统的性能和可靠性。

xiaoheshang_123的博客 562

java 获得当前日期字符串

java 获得当前日期字符串

mr_lili_1986的博客 1万+

HTML流光爱心(完整代码)

HTML语言实现红蓝色流光爱心效果的完整代码。

AIGC 1万+

java将日期转化为整型_Java中整型/字符型转换&JSP获取当前日期时间

Java中整型/字符型转换&JSP获取当前日期时间Java中整型转字符串型的方法1.直接加个引号:int n = 8;String s = n + "";2. 函数:Integer.toString(n);各种数字类型转换成字符串型:String s = String.valueOf( value); // 其中 value 为任意一种数字类型。字符串型转换成各种数字类型:String s...

weixin_42140625的博客 1453

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Java 日期时间

Java 日期时间: Java中如果要想获得当前的日期时间可以直接通过java.util.Date类来实现。此类的常用操作方法如下: No. 方法 类型 描述 1 public Date() 构造 实例化Date类对象 2 public Date(long date) 构造 将数字变为Date类对象,long为日期时间数据 3 public long getTime() 普通 将当前的日期时间变为long型 范例: 获取当前日期时间 package seven.date; im

sungancd的博客 376

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java 时间转换工具_java实现的日期时间转换工具类完整示例

本文实例讲述了java实现的日期时间转换工具类。分享给大家供大家参考,具体如下:最基础的东西,总结一下,下次用的时候就方便一些了。废话不多说,直接贴代码:package com.incar.base.util;import com.incar.base.exception.BaseRuntimeException;import java.text.DateFormat;import java.te...

weixin_33417488的博客 594

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

java数字与静态与字符串

静态方法 用static定义,直接用类名调用。 静态的方法不能调用非静态的变量,也不能调用非静态方法。 静态变量 它的值对于所有的实例来说都相同,被所有同类实例共享。 java虚拟机会加载某个类是因为创建该类的实例或是使用该类的静态方法或变量。 静态变量会在该类的任何对象创建之前完成初始化,也会在任何静态方法执行之前完成初始化 静态初始化程序 在使用该类之前就执行,所以很适合放静态final变量的起始程序 class Foo{ final static int x; static{ x=42; } } M

xoxcu的博客 496

Java中灵活转换日期时间字符串格式的教程

本文强调了现代日期时间API的优势,分析了Datetimeformater模式符号的正确使用,并提供了完整的示例代码和最佳实践,以处理带有时区信息、本地时间和非标准格式字符串,以帮助开发者避免常见的格式分析错误。将不同格式的日期时间字符串统一转换为“”dd.MM.uuuu“格式,我们需要为每个输入格式创建相应的Dateteformater进行分析,然后使用统一的Dateteformater进行输出格式化。// --- 处理第二种输入格式: "01.11.2022 20:00:00" ---

qq360737395的博客 379

java 日期 时间_Java日期时间

java.util.Date类java.util提供了Date类来封装日期和时间。实例化Date类的两个构造函数,Date();--当前时间Date(long millisec);--距离格林威治时间1970年1月1日millisec毫秒的时间使用SimpleDateFormat格式化日期import java.util.*;import java.text.*;public classDateD...

weixin_29568097的博客 911

一篇文章!彻底弄透Java处理GMT-UTC日期时间

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

2301_79058522的博客 1343

java string 格式化 数字_String的format方法格式化数字

在生活中我们将数字写成各种各样的格式,想时间一样的20:32:32PM,还有122,223,223.23来表示金钱数,在java中也有将数字格式化的方法,从java5.0之后,可以运用java.util中的Formatter类来格式化数字,你并不需要继承该类或者调用该类中的方法,因为在String中有format()方法也能实现这个功能。例如:String.format(“ String str”...

weixin_36252577的博客 3208

十二 Java日期时间

Java日期时间java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。 第一个构造函数使用当前日期和时间来初始化对象。 Date(); 第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。 Date(long millisec);Date对象的一些方法: 序号 方法和描述 1 boolean afte

KiGang的博客 400

Joda-Time日期时间格式化模式:完整模式参考手册

Joda-Time是Java SE 8之前广泛使用的日期和时间类替代品,提供了强大而灵活的日期时间格式化功能。无论你是Java开发新手还是有经验的程序员,掌握Joda-Time的格式化模式都将极大提升你的开发效率。✨ ## 📋 Joda-Time格式化模式符号完整参考表 以下是Joda-Time支持的完整格式化符号表,帮助你快速创建各种日期时间格式: | 符号 | 含义 | 格式类型 |

gitblog_01123的博客 488

Java日期时间

java.util.Date类 java.util提供了Date类来封装日期和时间。实例化Date类的两个构造函数, Date();--当前时间 Date(long millisec);--距离格林威治时间1970年1月1日millisec毫秒的时间 使用SimpleDateFormat格式化日期 import java.util.*; import java.text.*; p...

GarfieldEr007的专栏 650

Java时间字符串解析实战:从混合格式提取标准日期时间

时间格式解析是数据处理和系统日志分析中的基础技术,其核心原理是通过模式识别从非结构化文本中提取时间成分。在Java生态中,java.time包提供了强大的日期时间处理能力,结合正则表达式可以实现高效准确的时间信息提取。这项技术的工程价值在于确保业务逻辑中时间相关计算的正确性,广泛应用于日志分析、数据清洗和系统集成等场景。针对类似"3:16-292.47 141102"这样的混合格式字符串,需要综合运用字符串预处理和DateTimeFormatter进行标准化转换,这正是处理复杂时间解析需求的典型实践。

weixin_34335458的博客 295
上一篇: Android 打包后不能正常使用
下一篇: Android 百度地图marker中图片不显示的解决方案
ganshenml
博客等级 码龄16年 445粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ganshenml

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值