关于根据任意时间点转换成当前时间处于当年的第几周

本文介绍了一种将特定时间点转换为当年第几周的方法,利用Java的Calendar和SimpleDateFormat类实现。通过解析ISO 8601标准的时间字符串,如2019-05-09T16:00:00.000Z,并将其转换为周数,此方法适用于前端Vue+Element应用中日期选择器的需求。

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

关于根据任意时间点转换成当前时间处于当年的第几周

前端用的vue+element需要根据选择的日期获取当前日期是当年的第几周,刚好element有这方面的代码可以拿来借鉴,具体如下:
在这里插入图片描述
但是问题来了,value1的值为==》2019-05-09T16:00:00.000Z
我想要的是中间显示的19
用其它方式获取时前台页面容易报错,故还是把获取到的值传到后台进行转换。
自己写了一下,还是有问题,寻求朋友帮助,得到代码如下(自己做了简单修改,当然是试验的代码)

// An highlighted block
package demo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;

public class getWeek {
	
	public static void main(String[] args) {
		System.out.println(String.format("第%d周", getWeekOfYear()));
	}
	
	private static int getWeekOfYear() {
        try {
            String dateString = "2019-05-09T16:00:00.000Z";
            Calendar calendar = Calendar.getInstance();

            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.getDefault());
            long time =  sf.parse(dateString).getTime();

            calendar.setTimeInMillis(time);
            int week= calendar.get(Calendar.WEEK_OF_YEAR);
            System.out.println(week);
            return week;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return 0;
    }

}

程序运行结果如下:在这里插入图片描述
至此解决问题。
虽然代码不是我写的但是觉得把这个发出来应该可以帮助到一些人。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值