学习boost之0 开发一个日历

早有听闻boost很强大,最近开始学点皮毛。先从简单的开始学,就date_time库吧。

大致看了下date_time库的实现,不难,日期的核心算法是蔡勒公式,时间是调用底层的localtime。boost的强大之处就是普通人用几个函数就能搞定的东西,他给你封装几十个类。比如日期除了整数难道有其他类型吗?吐槽归吐槽,用起来还是很方便的。

用他提供的类写了一个控制台日历。

#include <boost/date_time.hpp>
#include <iostream>
void calendar()
{
    // 包含相关名字空间
    using namespace boost::posix_time;
    using namespace boost::gregorian;
    using std::cout;
    using std::endl;

    ptime pt( second_clock::local_time() ); // 获取当前时间
    cout << "日\t一\t二\t三\t四\t五\t六" << endl; 
    date dt = pt.date(); // 获取当前日期
    dt -= days( dt.day() - 1 ); // 切换到本月一号
    int i = dt.day_of_week(); // 获取一号是星期几

    // 以下是格式化输出
    for ( int k = 0; k < i; k++ )
      
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值