【Java】 日期转换【Date--long--String】

本文介绍了如何在Java中将Date类型转换为long类型,并从long类型还原为Date类型的方法。此外,还展示了如何将特定格式的字符串转换为Date类型,以及如何获取系统当前时间。
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();   //得到毫秒表示的系统当前时间
### 回答1: 可以使用Java中的SimpleDateFormat类来将时间戳转换日期格式。具体代码如下: ```java long timestamp = 162826440000L; // 时间戳,单位为毫秒 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 定义日期格式 String date = sdf.format(new Date(timestamp)); // 将时间戳转换日期格式 System.out.println(date); // 输出:2021-08-06 ``` 其中,`SimpleDateFormat`类的构造方法中传入的字符串参数表示日期格式,具体含义如下: - `yyyy`:年份,如2021 - `MM`:月份,如08 - `dd`:日期,如06 通过调用`format()`方法,将时间戳转换为指定的日期格式。最后输出的结果为`2021-08-06`。 ### 回答2: Java中时间戳是以毫秒为单位的长整型数字,表示自1970年1月1日00:00:00GMT以来的毫秒数。因为时间戳底层是一个整型数字,不便于阅读和使用,所以需要将其转换日期格式。 Java提供了将时间戳转换日期格式的方法,可以使用SimpleDateFormat类来实现。以下是将时间戳转换日期格式的示例代码: ```java long timeStamp = 1611023113000L; // 时间戳 Date date = new Date(timeStamp); // 将时间戳转换Date类型 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 指定日期格式 String dateStr = sdf.format(date); // 将Date类型转换成指定格式的字符串 System.out.println(dateStr); // 输出转换后的日期字符串 ``` 上面的代码首先将时间戳转换Date类型,然后通过SimpleDateFormat指定日期格式,最后调用format方法将Date类型转换成指定格式的字符串。 在指定日期格式的字符串中,yyyy表示年份,MM表示月份,dd表示天数。如果需要包含时间信息,还可以加入hh(小时)、mm(分钟)和ss(秒钟)等时间字段。 在转换时间戳时,还需要注意时间戳的单位是毫秒,Date的构造函数参数也是毫秒。如果时间戳是秒级别的,需要将其乘以1000转成毫秒级别。 使用以上代码可以方便地将时间戳转换成指定格式的日期字符串,便于我们处理和显示时间信息。 ### 回答3: Java时间戳是指从1970年1月1日00: 00: 00 UTC(协调世界时)开始计算的秒数,这意味着它代表了从该时间以来经过的秒数。简言之,它是一种以秒为单位的时间表示形式。通常,Java的时间戳是一个长整型数字。 要将Java时间戳转换日期格式,我们需要使用Java提供的一些内置方法和类。 首先,我们需要使用java.util.Date类。这个类包含了许多方法,可用于将时间戳转换日期格式。我们可以使用Datelong time)构造函数将时间戳转换日期对象。 然后,我们可以使用SimpleDateFormat类来格式化日期。SimpleDateFormat类可以提供各种格式化选项,包括日、月、年、小时、分钟和秒等。 下面是Java时间戳转换日期格式yyyy-mm-dd的实现代码: ```java import java.text.SimpleDateFormat; import java.util.Date; public class TimeStampConversion { public static void main(String[] args) { long timeStamp = System.currentTimeMillis(); Date date = new Date(timeStamp); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String formattedDate = dateFormat.format(date); System.out.println("Formatted date is " + formattedDate); } } ``` 在上面的代码中,我们首先获取当前时间戳,然后创建一个Date对象。接下来,我们使用SimpleDateFormat类格式化日期对象,该类使用"yyyy-MM-dd"格式字符串设置日期格式。最后,我们打印格式化后的日期字符串。 这里需要注意的一点是,我们使用"yyyy-MM-dd"格式字符串设置日期格式。这意味着我们将得到一个形如“2022-05-20”的日期格式字符串。如果您想使用不同的日期格式,请调整SimpleDateFormat的模式字符串。 Java的时间戳转换日期格式是一个非常基础的问题,但在Java开发中使用频率非常高。通过简单的代码,我们可以将时间戳转换为可读性较好的日期格式。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值