SimpleDateFormat转换时间,12,24时间格式

在使用SimpleDateFormat时格式化时间的 yyyy.MM.dd 为年月日而如果希望格式化时间为12小时制的,则使用hh:mm:ss 如果希望格式化时间为24小时制的,则使用HH:mm:ss

 

        Date d = new Date();  

        SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制  

        System.out.println(ss.format(d));  

        Date date = new Date();  

        SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制  

        String LgTime = sdformat.format(date);  

        System.out.println(LgTime);  

 

结果为  

2008-05-28 01:32:54 

2008-05-28 13:32:54 

Date d = new Date();
		SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制
		System.out.println(ss.format(d));

		Date date = new Date();
		SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制
		String LgTime = sdformat.format(date);
		System.out.println(LgTime);


结果为
2008-05-28 01:32:54
2008-05-28 13:32:54

  Date类,已经很少用了。更多使用的是Calendar  
  Calendar
    date    =    Calendar.getInstance();   
  date.get(Calendar.HOUR_OF_DAY    );//得到24小时机制的   
  date.get(Calendar.HOUR);//    得到12小时机制的   

 

如下是应用calendar的时间转换类

package test;
 
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
 
 
public class Main {
 
	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		Calendar c=Calendar.getInstance();
		long milliseconds=c.getTimeInMillis();
		System.out.println("当前时间毫秒值:"+milliseconds);
		//当前时间
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 
        System.out.println("直接格式化毫秒值输出:"+sdf.format(milliseconds));
        //2011-08-20 04:27:16
        Date d=new Date(milliseconds);
        //转换成Date对象
        System.out.println("Date对象输出时间:"+sdf.format(d));
        Calendar c2=Calendar.getInstance();
        System.out.println("Calendar设置前毫秒值:"+c2.getTimeInMillis());
        c2.setTime(d);
        //通过setTime方法转换回Calendar对象
        System.out.println("Calendar设置后毫秒值:"+c2.getTimeInMillis());
	}
 
}

 

  • 20
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Instant和SimpleDateFormat是Java中处理时间格式化和转换的两个类。 1. Instant类是Java 8引入的一个时间类,用于表示时刻。它是不可变的,可以精确到纳秒级别,并且可以与时区无关。通过Instant类,我们可以方便地进行日期和时间的操作和计算。 2. SimpleDateFormat是一个旧的Java类,用于将Date对象格式化为指定的日期和时间字符串,或将日期和时间字符串解析为Date对象。它可以使用不同的模式来指定日期和时间的格式。 要将Instant对象转换为指定格式的时间字符串,可以使用DateTimeFormatter类(Java 8及以上版本)或SimpleDateFormat类(Java 7及以下版本)。 例如,要将Instant对象转换为"yyyy-MM-dd HH:mm:ss"格式的时间字符串,可以使用以下代码: Java 8及以上版本: ``` Instant instant = Instant.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDateTime = formatter.format(instant); ``` Java 7及以下版本: ``` Instant instant = Instant.now(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String formattedDateTime = formatter.format(Date.from(instant)); ``` 而要将指定格式的时间字符串解析为Instant对象,可以使用以下代码: Java 8及以上版本: ``` String dateTimeString = "2022-05-10 15:30:00"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); Instant instant = Instant.parse(dateTimeString, formatter); ``` Java 7及以下版本: ``` String dateTimeString = "2022-05-10 15:30:00"; SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = formatter.parse(dateTimeString); Instant instant = date.toInstant(); ``` 总结:Instant类是用于表示时刻的,SimpleDateFormat类是用于格式化和解析日期和时间字符串的。要将Instant对象转换为指定格式的时间字符串,可以使用DateTimeFormatter类或SimpleDateFormat类;要将指定格式的时间字符串解析为Instant对象,也可以使用DateTimeFormatter类或SimpleDateFormat类。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值