当前位置:首页 > CN2资讯 > 正文内容

我的世界java怎么变时间

1天前CN2资讯


全世界的时间,有一个统一的计算标准:

刚开始是格林尼治(格林威治)时间(Greenwich Mean Time)简称GMT,计算核心:地球自转一圈为一天,太阳直射时为正午十二点,但是根据历史记载,曾有过16分钟的大误差,使用时长长达将近130年

到了2012年1月的时候改为原子钟,原子钟利用铯原子的震动频率计算出来的时间,作为世界标准时间(UTC),铯原子每震动9192631770次=1秒(不用记忆,了解一下就行)

中国标准时间=世界标准时间+8小时

1.Data --- 时间类

        是一个jdk写好的javaBean类,用来描述时间,精确到毫秒

        利用空参构造的对象,默认表示系统当前时间

        利用有参构造创建的对象,表示指定的时间

                常用方法:

                        1.pubic Date() --- 创建Data对象,表示当前时间

                        2.public Date(long date) --- 创建Data对象,表示指定时间

                        3.public void setTime(long time) --- 设置/修改毫秒值

                        4.public void getTime --- 获取时间对象的毫秒值

public static void main(String[] args) { //需求1:打印时间原点开始一年之后的时间 extracted(); //需求2:定义任意两个Date对象,比较一下哪个时间在前,哪个时间在后 extracted1(); } private static void extracted1() { //需求2 Random random = new Random(); //1.创建两个data对象 Date d1 = new Date(Math.abs(random.nextInt())); Date d2 = new Date(Math.abs(random.nextInt())); //2.获取两个对象之后才能比较,date对象不能比较 long time1 = d1.getTime(); long time2 = d2.getTime(); //3.比较 if(time1>time2){ System.out.println("time1在后,time2在前"); }else if(time1<time2){ System.out.println("time1在前,time2在后"); }else { System.out.println("time1和time2时间相同"); } } private static void extracted() { //需求1 //1.创建一个对象,表示时间原点 Date d1 = new Date(0L); //2.获取d1的毫秒值 long time = d1.getTime(); //3.加上一年的毫秒值 time = time +1000L * 60 * 60 * 24 * 365; //4.把计算结果放回d1中 d1.setTime(time); //5.打印 System.out.println(d1); }

2.SimpleDateFormat --- 格式化时间

        Data类只能创建默认的时间格式

        SimpleDateFormat类的作用:

                1.格式化:把时间格式改变

                2.解析:把字符串表示的时间变成Data对象

        构造方法:

                1.public SimpleDateFormat() --- 构造一个SimpleDateFormat,使用默认格式

                2.public SimpleDateFormat(String Pattern) --- 构造一个SimpleDateFormat,使用指定格式

        常用方法:

                1.public final String format(Date date) --- 格式化(日期对象-->字符串)

                2.public Date parse(String source) --- 解析(字符串-->日期对象)

接下来分别解释两个方法

(1)格式化

        格式化的时间形式的常用模式对应关系:

                y --- 年

                M --- 月

                d --- 日

                H --- 时(0-23)

                m --- 分

                s --- 秒

(如果需要更为详细的格式,直接在API文档中搜索此类就行,这里不再过多赘述)

下面时代码演示

public static void main(String[] args) { Default(); Point(); } private static void Point() { //利用有参构造创建SimpleDateFormat()对象,指定格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E"); Date d = new Date(0L); String format = sdf.format(d); System.out.println(format); } private static void Default() { //利用空参构造创建SimpleDateFormat()对象,默认格式 SimpleDateFormat sdf = new SimpleDateFormat(); Date d = new Date(0L); String format = sdf.format(d); System.out.println(format); }

(2)解析

public static void main(String[] args) throws ParseException { //1.定义一个字符串表示时间 String str = "2023-5-22 11:11:11"; //2.利用空参构造创建SimpleDateFormat对象,创建的代码格式要和字符串的格式一样 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //3.解析传入的字符串为默认时间日期格式 Date date = sdf.parse(str); System.out.println(date); //获取这个时间的毫秒值,有了毫秒值就可以进行比较,加减等操作 System.out.println(date.getTime()); }

3.Calendar --- 日历

代表了系统当前时间的日历对象,可以单独修改、获取时间中的年、月、日

细节:它是一个抽象类

        获取Calendar日历类对象的方法

                public static Calendar getInstance() --- 获取当前时间的日历对象

Calender是一个抽象类,不能直接new,而是通过一个静态方法获取到子类对象

        底层原理:

                1.会根据系统的不同时区来获取不同的日历对象,默认表示是当前时间

                2.把会时间中的纪元:年,月,日,时,分,秒,星期等等的都放到一个数组当中

        细节:

                1.月份:范围0~11,如果获取出来的是0,那么实际上是1月

                2.星期:在老外的眼里,星期日是一周的第一天,1(星期天),2(星期一)

常用方法:

        1.public final Date getTime() --- 获取日期对象

        2.public final setTime(Date date) --- 给日历设置日期对象

public static void main(String[] args) { Calendar c = Calendar.getInstance(); //修改日历代表时间 Date d = new Date(0L); c.setTime(d); System.out.println(c); }

       

        3.public long getTimeInMillis() --- 拿到时间毫秒值

        4.public void setTimeInMillis(long millis) --- 给日历设置时间毫秒值

和以上操作差不多

        5.public int get(int field) --- 取日历中的某个字段信息

public static void main(String[] args) { Calendar c = Calendar.getInstance(); Date d = new Date(0L); c.setTime(d); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH)+1; int date = c.get(Calendar.DATE); int dateOfWeek = c.get(Calendar.DAY_OF_WEEK); System.out.println(year+","+month+","+date+","+GetWeek(dateOfWeek)); } public static String GetWeek(int index){ String[] arr = {"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"}; return arr[index]; }

        6.public void set(int field,int value) --- 修改日历的某个字段信息

public static void main(String[] args) { Calendar c = Calendar.getInstance(); Date d = new Date(0L); c.setTime(d); //这里将年份修改成2000年了 c.set(Calendar.YEAR,2000); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH)+1; int date = c.get(Calendar.DATE); int dateOfWeek = c.get(Calendar.DAY_OF_WEEK); System.out.println(year+","+month+","+date+","+GetWeek(dateOfWeek)); } public static String GetWeek(int index){ String[] arr = {"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"}; return arr[index]; }

 

        7.public void add(int field,int amount) --- 为某个字段增加/减少指定的值

public static void main(String[] args) { Calendar c = Calendar.getInstance(); Date d = new Date(0L); c.setTime(d); //这里将年份修改成2000年了 c.set(Calendar.YEAR,2000); //这里添加了一个月 c.add(Calendar.MONTH,1); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH)+1; int date = c.get(Calendar.DATE); int dateOfWeek = c.get(Calendar.DAY_OF_WEEK); System.out.println(year+","+month+","+date+","+GetWeek(dateOfWeek)); } public static String GetWeek(int index){ String[] arr = {"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"}; return arr[index]; }

 注:如果添加的月份或者日期超过正常限定范围,那么就会加减一年或者月份

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/21971.html

    分享给朋友:

    “我的世界java怎么变时间” 的相关文章

    bwghost全面指南:如何选择、购买和优化搬瓦工VPS服务

    bwghost的基本介绍 bwghost是一个与搬瓦工(BandwagonHost)紧密相关的术语。搬瓦工是一家来自加拿大的VPS服务提供商,专注于提供基于KVM架构的虚拟专用服务器(VPS)。他们的服务覆盖多个地区,包括香港CN2 GIA和洛杉矶DC6 CN2 GIA-E等。搬瓦工的官网是bwg....

    国外云服务器推荐:如何选择适合你的云服务平台

    国外云服务器概述 云计算是近年来一个热门的话题,我常常听到朋友们讨论它的好处。那么,什么是云计算呢?简单来说,云计算是一种利用互联网提供计算机服务的方式。用户可以通过互联网访问服务器、存储、数据库和软件等基础设施,省去了传统硬件的维护和管理。这种技术的发展,使得企业和个人能够更加灵活和高效地使用计算...

    搬瓦工VPS与IPv6: 优化你的网络体验

    搬瓦工(BandwagonHost)作为一家由加拿大IT7 Networks公司推出的品牌,专注于提供性价比较高的VPS主机服务。我一直对VPS的体验充满好奇,尤其是搬瓦工的背景与发展历程。最初,搬瓦工主要销售超低价的OpenVZ方案,吸引了不少预算有限的用户。随着技术的发展和市场需求的变化,搬瓦工...

    CloudCone价格分析:如何利用促销活动节省费用

    在考虑使用CloudCone的产品时,价格是一个重要的考虑因素。CloudCone于2017年成立,专注于提供多样化的VPS主机和云服务器服务,主要在美国洛杉矶的MultaCom机房运营。以KVM架构为基础,CloudCone的VPS主机在性能和灵活性上都展现出色。其自研管理面板的设计,简化了用户的...

    深入了解M247 VPS:价格、性能与适用场景全分析

    M247 VPS概述 在如今数字化时代,云计算的需求不断上升,各种VPS(虚拟专用服务器)服务也层出不穷。今天我想和大家分享的是M247 VPS,它是一家相对年轻但却在行业内逐渐崭露头角的服务商。M247成立于2012年,隶属于M24Seven Group旗下,提供多种服务,包括VPS、虚拟主机、服...

    APT攻击解析:如何应对高级持续性威胁

    APT攻击,或称为高级持续性威胁,是一种复杂的网络攻击形式。这种攻击的发起者通常是具有高度组织性和专业性的攻击者,可能是国家支持的黑客组织,或者其他有目的的恶意实体。他们的目标不仅仅是短期内造成损害,而是着眼于更长远的战略性目标,比如窃取国家机密、企业的核心技术或其他商业秘密。这种攻击对目标组织的声...