首页 > 编程语言 >Java解决一年中的第几天

Java解决一年中的第几天

时间:2024-03-13 21:04:39浏览次数:27  
标签:01 Java 第几天 date 2019 import 解决 java

Java解决一年中的第几天

01 题目

  • 给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。

    示例 1:

    输入:date = "2019-01-09"
    输出:9
    解释:给定日期是2019年的第九天。
    

    示例 2:

    输入:date = "2019-02-10"
    输出:41
    

    提示:

    • date.length == 10
    • date[4] == date[7] == '-',其他的 date[i] 都是数字
    • date 表示的范围从 1900 年 1 月 1 日至 2019 年 12 月 31 日

02 知识点

  • 时间戳
  • 日历类,时间格式类

03 我的题解思路

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

public class dayOfYear {
	public static void main(String[] args) {
//		测试数据
		System.out.println(dayOfYear("2019-02-10"));
	}
	 public static int dayOfYear(String date) {
		 int rs=0;//返回值
		 DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");//设置时间格式
		 Long end=0l;//输入值的时间戳
		 Long start=0l;//当年第一天的时间戳
		//切割字符串并取年份拼接出当年第一天的字符串
		 String dateSt=date.split("-")[0]+"-01-01";
		 try {
			//parse方法必须捕获(try-catch)异常,该方法把符合格式的字符串转为日期类
			Date dateE=dateFormat.parse(date);
			Date dateS=dateFormat.parse(dateSt);
			start=dateS.getTime();//从日期类中取时间戳
			end=dateE.getTime();
		} catch (ParseException e) {
			e.printStackTrace();
		}
//		 时间戳相减获得二者时间差的毫秒数,将毫秒数转为天数并加一,再将long类型转回int类型
		return Math.toIntExact((end-start)/1000/60/60/24+1);
	    }
	
}

标签:01,Java,第几天,date,2019,import,解决,java
From: https://blog.csdn.net/2302_77182979/article/details/136691359

相关文章

  • # Java网络编程入门与实践:构建简单的Socket通信应用
    导言随着互联网的不断发展,网络编程在软件开发领域中变得愈发重要。本文将引导您进入Java网络编程的世界,通过简单而实用的Socket通信实例,帮助您理解网络编程的基本概念和技术。让我们一起动手,构建一个简单的客户端-服务器应用程序,并进行实际的编码练习。1.Java网络编程基......
  • Java面向对象:类与对象
    Java面向对象:类与对象在Java编程中,面向对象是一种重要的编程范式。其中,类与对象是构建面向对象程序的基本组件。本文将深入探讨Java中类与对象的概念,并提供一些练习加深理解。类与对象的概念在Java中,类是对象的模板或蓝图,它定义了对象的属性和行为。对象是类的实例,具有类......
  • Java 数组转 JSON数组
    场景说明最近在开发一个推送数据到MQ的服务,下游要求将数组转换为JSON形式后进行推送引入依赖<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.5</version&......
  • Java反射和注解基本用法
    Java注解和反射Java注解什么是注解Annotation是从JDK5.0开始引入的新技术Annotation作用:不是程序本身,可以对程序做出解释可以被其他程序(比如编译器)读取Annotation格式:注解是以@注解名在代码中存在的,还可以添加一些参数值,例如:@Service(value="")Annotation在哪......
  • Java 异常处理与正则表达式详解,实例演练及最佳实践
    Java异常-Try...Catch在Java代码执行期间,可能会发生各种错误,包括程序员编码错误、用户输入错误以及其他不可预料的状况。当错误发生时,Java通常会停止并生成错误消息,这个过程称为抛出异常。try...catch语句try语句允许您定义一段代码块,并在其中测试是否发生错误。catc......
  • Java基础笔记
    jdk、jre、jvm三者之间的关系Java语言开发程序能够做到一次编写处处运行(能够跨平台运行)java中的注释  Java中的关键字和保留字  ......
  • Java 引用变量的比较
    在Java中,当你使用双引号直接创建字符串时,如:Strings=“LXHYouth”;Strings2=“LXHYouth”;使用==运算符比较这两个引用时,结果为true然而,当你使用new关键字创建字符串对象时,情况就有所不同了:Strings3=newString(“LXHYouth”);//使用new关键字,s3指向堆中的一......
  • 图片在浏览器上从http变成https问题的解决方案
    朋友将数据库放在虚拟机上,数据库中存储的图片是http格式,在页面中请求的时候变成https导致无法访问网页中img标签src指向资源地址为http资源地址,但是在network面板查看发出的网络资源请求却变成了https请求,导致资源找不到报错404。原因:1.因为添加如下CSP内容,将自动将h......
  • Day40:安全开发-JavaEE应用&SpringBoot框架&JWT身份鉴权&打包部署JAR&WAR
    目录SpringBoot-身份鉴权-JWT技术SpringBoot-打包部署-JAR&WAR思维导图Java知识点功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方组件使用等.框架库:MyBatis,SpringMVC,SpringBoot,Shiro,Log4j,FastJson等技术:Servlet,Listen,Filter,Interceptor,JWT,AOP,反射机制待......
  • “短路”操作符:能让判断条件“短路”的神奇操作符(C Java)
    目录何为短路C:1.        ||    逻辑或2.    &&    逻辑与Java&    |何为短路短路是指可以让后面的代码不执行。C:1.        ||    逻辑或功能:判断真假。exp1||exp2||exp3其中三个表达式,只要其中一......