Java 日期时间 Date类型,long类型,String类型表现形式的转换

本文介绍了如何在Java中进行日期时间的转换,包括Date类型转换为long类型、由long类型转换为Date类型、特定格式的String转换为Date类型的方法。同时提供了系统当前时间的获取方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、java.util.Date类型转换成long类型
java.util.Date dt = new Date();
System.out.println(dt.toString());   //java.util.Date的含义
long lSysTime1 = dt.getTime() / 1000;   //得到秒数,Date类型的getTime()返回毫秒数

2、由long类型转换成Date类型
SimpleDateFormat sdf= new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
//前面的lSysTime是秒数,先乘1000得到毫秒数,再转为java.util.Date类型
java.util.Date dt = new Date(lSysTime1 * 1000);  
String sDateTime = sdf.format(dt);  //得到精确到秒的表示:08/31/2006 21:08:00
System.out.println(sDateTime);
 
3、"08/31/2006 21:08:00"格式的String转换java.util.Date类型
String sDt = "08/31/2006 21:08:00";
SimpleDateFormat sdf= new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
Date dt2 = sdf.parse(sDt);
//继续转换得到秒数的long型
long lTime = dt2.getTime() / 1000;
 
 
//注意HH与hh含认不同,HH表示以24小时制取,hh表示以12小时制取
常用的格式的含义,摘自Jdk,注意大小写的含义通常是不同的:
字母    含义                            示例
y    Year                             1996;96             哪一年
M   Month in year  J              uly;Jul;07           一年中的哪一月
m   Minute in hour                 30                    一个小时中的第几分钟
w   Week in year                   27                   一年中的第几个星期
W   Week in month                 2                    一个月中的第几个星期
D    Day in year                     189                 一年中的第几天
d    Day in month                   10                  一个月中的第几天
H    Hour in day (0-23)            0                   一天中的第几个小时(24小时制)
h    Hour in am/pm (1-12)        12                  一天中上午、下午的第几个小时(12小时制)
S    Millisecond                      978                 毫秒数
s    Second in minute              55                  一分钟的第几秒
 
4、系统当前时间
long lSysTime2 = System.currentTimeMillis();   //得到毫秒表示的系统当前时间

### MySQL与Java之间数据类型映射关系 #### 数值型数据 对于整数类型的映射,MySQL中的`tinyint`, `smallint`, `mediumint`, `int`, 和 `bigint`分别对应于Java中的`byte`, `short`, `int`, 或者`long`。具体取决于数值范围的需求[^2]。 浮点数方面,MySQL里的`float`和`double`直接映射至Java同名基本类型;而`decimal`或`numeric`则建议使用`BigDecimal`处理以保持精度[^4]。 #### 字符串类型 字符串在MySQL中有多种表现形式如`char`, `varchar`, `text`及其变体,在Java端统一采用`String`表示。当涉及到JSON格式的数据交换时,虽然MySQL支持原生json类型,但在Java里仍需转换成`String`或是借助库解析为相应的对象结构。 #### 时间日期类 时间戳(`timestamp`)、日期(`date`)及时刻(`datetime/time`)等MySQL内置的时间相关类型可以利用`java.sql.Date`, `java.sql.Time`, 及`java.sql.Timestamp`来操作。值得注意的是,为了更好地兼容性和功能扩展,推荐使用JDK8引入的新API——`LocalDate`, `LocalTime`, ` LocalDateTime`, 以及`OffsetDateTime`等现代日期时间类[^3]。 #### 布尔逻辑量 布尔值在MySQL中通过`bit(1)`定义,并且默认情况下会自动转化为Java中的`boolean`。然而需要注意的是,如果超出单一位长度,则可能无法简单地映射回单一布尔变量,而是要依据实际情况考虑其他方式存储多状态标志位信息[^5]。 ```sql CREATE TABLE example ( id INT PRIMARY KEY, name VARCHAR(255), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` ```java public class Example { private int id; private String name; @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") // 如果需要序列化/反序列化 JSON private Timestamp createdAt; // getters and setters... } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值