JAVA 毫秒时间转字符显示

本文介绍了一个Java程序,该程序能够根据输入的时间戳返回不同格式的时间字符串。具体来说,如果时间戳对应今天的时间,则返回HH:mm:ss格式;如果是昨天,则在前面加上“昨天”二字;若属于当年但非今天或昨天,则采用MM-dd HH:mm:ss格式;若不属于当年,则使用完整日期格式即yyyy-MM-dd HH:mm:ss。



import java.text.SimpleDateFormat;

public class test {

	public static void main(String[] args){
		String str = formatTime(1435484260);
		System.out.println(str);
	}

	public static String formatTime(long time){
        time = time * 1000;
        SimpleDateFormat hms = new SimpleDateFormat("HH:mm:ss");
        long currTime = System.currentTimeMillis();
        long todayTime = currTime - currTime%(24*60*60*1000);  // 今天0点
        long nGap = todayTime - time;      // 距今天0点的毫秒数
        String result = "";
        if(nGap <= 0){  // 今天
            result = hms.format(time);
        }else if( nGap < 24*60*60*1000 ){ // 昨天
            result = "昨天" + hms.format(time);
        }else if( nGap > 365*24*60*60*1000 ){ // 不是今年
            SimpleDateFormat ymdhms = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            result = ymdhms.format(time);
        }else{
            SimpleDateFormat mdhms = new SimpleDateFormat("MM-dd HH:mm:ss");
            result = mdhms.format(time);
        }
        return result;
    }
	
}


Java 中,毫秒时间格式字符串通常用于表示包含毫秒部分的日期和时间。常见的格式有 `"yyyy-MM-dd HH:mm:ss.SSS"`,其中 `SSS` 代表毫秒部分。 以下是使用 `SimpleDateFormat` 和 `java.time` 包处理毫秒时间格式字符串的示例: ### 使用 `SimpleDateFormat` ```java import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class MillisecondFormatSimpleDateFormat { public static void main(String[] args) { String dateString = "2025-06-07 12:30:45.123"; String format = "yyyy-MM-dd HH:mm:ss.SSS"; try { SimpleDateFormat sdf = new SimpleDateFormat(format); Date date = sdf.parse(dateString); long timestamp = date.getTime(); System.out.println("时间戳: " + timestamp); } catch (ParseException e) { e.printStackTrace(); } } } ``` ### 使用 `java.time` 包 ```java import java.time.LocalDateTime; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; public class MillisecondFormatJavaTime { public static void main(String[] args) { String dateString = "2025-06-07 12:30:45.123"; String format = "yyyy-MM-dd HH:mm:ss.SSS"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format); LocalDateTime dateTime = LocalDateTime.parse(dateString, formatter); long timestamp = dateTime.toInstant(ZoneOffset.UTC).toEpochMilli(); System.out.println("时间戳: " + timestamp); } } ``` ### 格式说明 - `yyyy`:表示年份,例如 `2025`。 - `MM`:表示月份,范围是 `01` 到 `12`。 - `dd`:表示日期,范围是 `01` 到 `31`。 - `HH`:表示小时,24 小时制,范围是 `00` 到 `23`。 - `mm`:表示分钟,范围是 `00` 到 `59`。 - `ss`:表示秒,范围是 `00` 到 `59`。 - `SSS`:表示毫秒,范围是 `000` 到 `999`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值