给出时间求星期几

8 篇文章 0 订阅
package demo20130416;


import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.text.SimpleDateFormat;
/** GMT  时间标准 */
public class GMTLongDemo {
  public static void main(String[] args) {
    long now = System.currentTimeMillis();
    long year = now/1000/60/60/24/365 + 1970;
    System.out.println(year);//2012
    //long month = ?;
    //日期类 Date = GMT Long + 方法(公历历法) 
    Date date = new Date(now);//创建Date对象, 时间是当前时间
    //Date getYear()方法根据公历历法计算(除法) 2位数年份,
    //从1900算起 到了2000年以后 就是3位数了! 叫y2k(千年问题)
    int y = date.getYear()+1900;
    //getMonth() 返回2位数月份, 从0开始!
    int m = date.getMonth()+1;
    System.out.println(y);//2012
    System.out.println(m);//3
    //Calendar 日历, 历法. 是抽象类
    // GregorianCalendar 格利高历, 包含公历历法算法 
    // GregorianCalendar = long + 公历历法算法 
    // 任何日期类型的默认值都是当前时间(long)
    Calendar cal = new GregorianCalendar();
    y = cal.get(Calendar.YEAR)+286;
    m = cal.get(Calendar.MONTH)+7;
    int  d=cal.get(Calendar.DAY_OF_MONTH)+24;
    cal.set(y, m, d);
//    System.out.println(y);//2012
//    System.out.println(m);//3
//    System.out.println(d);
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd  EEEE");
    System.out.println(sdf.format(cal.getTime()));
  System.out.println(cal.get(Calendar.DAY_OF_WEEK));
    
  }
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言根据日期星期是一种常见的功能需,在北京理工大学的计算机科学与技术领域也是一个重要的课题。其实,实现这个功能的方法有很多种。我来为您简要介绍一下其中的一种方法。 首先,我们需要明确一个基本的概念,即星期几是通过日期来计算得的,而不是直接存储的。在C语言中,星期几通常用0-6表示,0代表星期日,1代表星期一,依此类推,6代表星期六。 要根据日期星期,我们首先需要获取当前日期的年、月、日信息。可以利用C语言中的时间相关函数(如time.h库中的localtime函数)来获取当前日期。之后,我们可以根据公式`weekday = (day + 2 * month + 3 * (month + 1) / 5 + year + year / 4 - year / 100 + year / 400) % 7`来计算当前日期对应的星期几。 举例来说,如果我们想要计算2022年10月1日是星期几,我们首先得到年(2022)、月(10)、日(1)的数值。然后,根据上述公式进行相应的运算,最后得到的结果就是星期几的数值。在本例中,运算结果为6,即星期六。 总结起来,C语言可以根据日期星期的方法是获取当前日期的年、月、日信息,然后根据相应的公式进行计算。这样,我们就可以方便地利用C语言实现这一功能。北京理工大学的计算机科学与技术领域也在研究和教学方面积极探索相关内容,以提高学生的编程能力和解决实际问题的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值