C++训练题自定义一个简单日期类 DateType,它具有数据成员 y、m、d,用来表示当前日期的年、月、日。 而后设计该类欲实现(完成)的功能,进而设计出相应的类成员函数。

C++训练题

自定义一个简单日期类 DateType,它具有数据成员 y、m、d,用来表示当前日期的年、月、日。

而后设计该类欲实现(完成)的功能,进而设计出相应的类成员函数。

题目描述

自定义一个简单日期类 DateType,它具有数据成员 y、m、d,用来表示当前日期的年、月、日。

而后设计该类欲实现(完成)的功能,进而设计出相应的类成员函数。

class DateType {

//自定义的日期类 DateType

   int y,m,d; //数据成员,表示当前日期的年、月、日

public:

   DateType(int y0=1, int m0=1, int d0=1);

   //构造函数,设定年、月、日;并设置参数默认值

   void IncrementDay(); //增加 1 天

   bool Equal(DateType dt2); //判断二日期是否相等

   void PrintDate(); //屏幕输出日期对象的有关数据(年、月、日)

};

1、完成有参构造函数

2、完成 void
IncrementDay()函数,计算天数加1后的日期。

3、完成Equal(DateType
dt2)函数,判断两个日期是否相等。

4、完成打印输出函数PrintDate(),在屏幕上输出日期对象的有关数据(年、月、日)

5、编写并完成主函数,实现输入包含六个整数,说明DateType类对象dt1,dt2,分别是dt1和dt2的年月日。请先输出dt1,dt2,然后判断dt1,dt2是否相等,再对dt1,dt2分别增加一天。最后输出dt1,dt2。

代码如下:‘

#include<iostream>

using namespace
std;

class DateType {
    

//自定义的日期类 DateType

       int y,m,d; //数据成员,表示当前日期的年、月、日

public:

       DateType(int y0=1, int m0=1, int d0=1);

       //构造函数,设定年、月、日;并设置参数默认值

       void IncrementDay(); //增加 1 天

       bool Equal(DateType dt2); //判断二日期是否相等

       void PrintDate(); //屏幕输出日期对象的有关数据(年、月、日)

};

DateType ::
DateType(int y0,int m0,int d0)

{
   

       y=y0;

       m=m0;

       d=d0;

};

void DateType ::
PrintDate()

{
   

       cout<<y<<":"<<m<<":"<<d<<endl;

}

 bool DateType:: Equal(DateType dt2)

{
   

  
  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
对于Spark中的日期数据处理,可以使用Spark的DateType和TimestampType数据型以及相关的函数和方法来处理。以下是一些常用的操作: 1. 将日期字符串转换为日期类型: ``` import org.apache.spark.sql.functions._ import org.apache.spark.sql.types.DateType val df = spark.createDataFrame(Seq(("2021-01-01"), ("2021-02-01"), ("2021-03-01"))) .toDF("date_string") val dfWithDate = df.withColumn("date", to_date(col("date_string"), "yyyy-MM-dd").cast(DateType)) dfWithDate.show() ``` 2. 获取日期等信息: ``` val dfWithYear = dfWithDate.withColumn("year", year(col("date"))) val dfWithMonth = dfWithDate.withColumn("month", month(col("date"))) val dfWithDay = dfWithDate.withColumn("day", dayofmonth(col("date"))) ``` 3. 计算日期差: ``` val dfWithDiff = dfWithDate.withColumn("diff_days", datediff(current_date(), col("date"))) ``` 4. 添加或减去指定的时间间隔: ``` val dfWithAddedInterval = dfWithDate.withColumn("added_interval", date_add(col("date"), 7)) val dfWithSubtractedInterval = dfWithDate.withColumn("subtracted_interval", date_sub(col("date"), 7)) ``` 5. 格式化日期为字符串: ``` import org.apache.spark.sql.types.TimestampType import java.text.SimpleDateFormat val dfWithTimestamp = df.withColumn("timestamp", to_timestamp(col("date_string"), "yyyy-MM-dd").cast(TimestampType)) val dfWithFormattedDate = dfWithTimestamp.withColumn("formatted_date", date_format(col("timestamp"), "yyyy/MM/dd")) dfWithFormattedDate.show() ``` 这些是一些常见的Spark日期数据处理操作。根据具体的需求,还可以使用其他函数和方法进行更复杂的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值