Java中Date日期格式的各种转换

根据网上材料进行归纳梳理,对常见的日期格式进行转换,直接上代码吧。

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateParserT {

	/**
	 * Date 与  String、long 的相互转换
	 * @param args
	 */
	public static void main(String[] args) {
		
		Date dt =new Date();
		System.out.println(dt); //格式: Wed Jul 06 09:28:19 CST 2016
		
		//格式:2016-7-6
		String formatDate = null;
		formatDate = DateFormat.getDateInstance().format(dt);
		System.out.println(formatDate);  
		
		//格式:2016年7月6日 星期三
		formatDate = DateFormat.getDateInstance(DateFormat.FULL).format(dt);
		System.out.println(formatDate);
		
		//格式 24小时制:2016-07-06 09:39:58
		DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //HH表示24小时制;
		formatDate = dFormat.format(dt);
		System.out.println(formatDate);
		
		//格式12小时制:2016-07-06 09:42:44
		DateFormat dFormat12 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //hh表示12小时制;
		formatDate = dFormat12.format(dt);
		System.out.println(formatDate);
		
		//格式去掉分隔符24小时制:20160706094533
		DateFormat dFormat3 = new SimpleDateFormat("yyyyMMddHHmmss");
		formatDate = dFormat3.format(dt);
		System.out.println(formatDate);
		
		//格式转成long型:1467770970
		long lTime = dt.getTime() / 1000;
		System.out.println(lTime);
		
		//格式long型转成Date型,再转成String:  1464710394 -> ltime2*1000 -> 2016-05-31 23:59:54
		long ltime2 = 1464710394;
		SimpleDateFormat lsdFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date lDate = new Date(ltime2*1000);
		String lStrDate = lsdFormat.format(lDate);
		System.out.println(lStrDate);
		
		//格式String型转成Date型:2016-07-06 10:17:48 -> Wed Jul 06 10:17:48 CST 2016
		String strDate = "2016-07-06 10:17:48";
		SimpleDateFormat lsdStrFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try {
			Date strD = lsdStrFormat.parse(strDate);
			System.out.println(strD);
		} catch (ParseException e) {
			e.printStackTrace();
		}

	}

}


  • 9
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 可以使用Java的`java.util.Date`类的`getTime()`方法将日期转换为时间戳。 例如: ``` import java.util.Date; public class Main { public static void main(String[] args) { // 创建一个日期对象 Date date = new Date(); // 获取当前日期对应的时间戳 long timeStamp = date.getTime(); System.out.println(timeStamp); } } ``` 运行上述代码会输出当前时间对应的时间戳。 注意:时间戳是从1970年1月1日 00:00:00 GMT开始计算的毫秒数,所以输出的值是从1970年1月1日开始到当前时间的毫秒数。 ### 回答2: 在Java,将Date日期格式转换为时间戳可以使用两种方法。 方法一:使用getTime()方法 Date有一个可用于获取时间戳的方法getTime()。该方法返回的是从1970年1月1日0时0分0秒(也称为Unix纪元)到当前Date对象表示的时间之间的毫秒数。将这个毫秒数转换为以秒为单位的时间戳,只需将其除以1000即可。 示例代码如下: ``` import java.util.Date; public class DateToTimestamp { public static void main(String[] args) { Date date = new Date(); long timestamp = date.getTime() / 1000; System.out.println("时间戳:" + timestamp); } } ``` 方法二:使用SimpleDateFormat类 SimpleDateFormat类是Java用于处理日期格式化的类。可以使用它将Date对象格式化为特定的日期字符串,然后再将该字符串解析为时间戳。 示例代码如下: ``` import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateToTimestamp { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = sdf.format(date); try { Date parsedDate = sdf.parse(dateString); long timestamp = parsedDate.getTime() / 1000; System.out.println("时间戳:" + timestamp); } catch (ParseException e) { e.printStackTrace(); } } } ``` 以上是将Date日期格式转换为时间戳的两种方法,可以根据实际需求选择适合的方法进行使用。 ### 回答3: 在Java,可以使用`java.util.Date`和`java.sql.Timestamp`类来处理日期和时间戳。为了将一个日期转换为时间戳,可以按照以下步骤进行操作: 1. 首先,创建一个`Date`对象,表示要转换日期。例如,`Date date = new Date();`可以创建一个表示当前日期和时间的对象。 2. 接下来,可以使用`getTime()`方法来获取日期对象的时间戳。这个方法返回一个`long`类型的值,表示从1970年1月1日00:00:00 GMT以来的毫秒数。 ```java long timestamp = date.getTime(); ``` 3. 如果需要将时间戳存储到数据库,可以使用`java.sql.Timestamp`类来处理。可以使用`Timestamp`的构造函数将时间戳转换为`Timestamp`对象。 ```java Timestamp timestamp = new Timestamp(date.getTime()); ``` 4. 如果需要将时间戳转换日期,可以使用`Timestamp`的`getTime()`方法来获取时间戳的毫秒数,并将其传递给`Date`的构造函数。 ```java Date date = new Date(timestamp.getTime()); ``` 注意:由于`java.util.Date`和`java.sql.Timestamp`类都属于`java.util`包,因此需要在代码引入它们的类。 使用上述方法,可以很容易地将Java日期对象转换为时间戳,并且可以根据需要进行相反的转换

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值