DateTimeExtensions:一个轻量C#的开源DateTime扩展方法库
推荐一个专门为System.DateTime编写的扩展方法库。
01 项目简介
该项目主要是为System.DateTime和System.DateTimeOffset的编写的扩展方法,包括自然日期差值的文本表示(精确和人性化四舍五入)、多个时区的节假日和工作日计算。
核心扩展方法有:
1、DateTimeOffset和DateTime工作日、节假日的扩展方法;
2、本地化的自然时间差;
3、DateTime和DateTimeOffset常用的扩展方法。

02 使用方法
1、示例代码
using DateTimeExtensions;
var date = new DateTime(2024, 4, 7, 12, 0, 0);
Console.WriteLine("是否为工作日:{0}", date.IsWorkingDay());
Console.WriteLine("这个月的第一天:{0}", date.FirstDayOfTheMonth());
Console.WriteLine("这个月的最后一天:{0}", date.LastDayOfTheMonth());
Console.WriteLine("这个周的星期五:{0}", date.LastDayOfWeek(DayOfWeek.Friday));
2、效果

03 项目地址
https://github.com/joaomatossilva/DateTimeExtensions
更多开源项目: https://github.com/bianchenglequ/NetCodeTop
- End -
推荐阅读
Eval-Expression.NET:动态执行C#脚本,类似Javascript的Eval函数功能
Plotly.NET:一个强大的、漂亮的.NET开源交互式图表库
DateTimeExtensions:一个轻量C#的开源DateTime扩展方法库的更多相关文章
- 对 JDBC 做一个轻量封装,待完善。。。
对 JDBC 做一个轻量地封装,顺便复习,熟悉sql,io,util,lang.Reflect等包的使用,泛型的使用,待完善... package com.webproj.utils; import ...
- vue-concise-slider 一个轻量的vue幻灯片组件
vue-concise-slider 一个轻量的vue幻灯片组件 阅读 541 收藏 35 2017-07-03 原文链接:github.com 外卖订单处理有烦恼?试试美团点评餐饮开放平台吧,可实现 ...
- Day.js 是一个轻量的处理时间和日期的 JavaScript 库
Day.js 是一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样. 如果您曾经用过 Moment.js, 那么您已经知道如何使用 Day.js ...
- 轻量高效的开源JavaScript插件和库 【转】
图片 布局 轮播图 弹出层 音频视频 编辑器 字符串 表单 存储 动画 时间 其它 加载器 构建工具 测试 包管理器 CDN 图片 baguetteBox.js - 是一个简单易用的响应式图像灯箱效果 ...
- Nancy总结(一)Nancy一个轻量的MVC框架
Nancy是一个基于.net 和Mono 构建的HTTP服务框架,是一个非常轻量级的web框架. 设计用于处理 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATC ...
- BlockCanary 一个轻量的,非侵入式的性能监控组件(阿里)
开发者博客: BlockCanary — 轻松找出Android App界面卡顿元凶 开源代码:moduth/blockcanary BlockCanary对主线程操作进行了完全透明的监控,并能输出有 ...
- 2016年31款轻量高效的开源JavaScript插件和库
目前有很多网站设计师和开发者喜欢使用由JavaScript开发的插件和库,但同时面临一个苦恼的问题:它们中的大多数实在是太累赘而且常常降低网站的性能.其实,其中也有不少轻量级的插件和库,它们不仅轻巧有 ...
- 2016年31款轻量高效的开源 JavaScript 插件和库
目前有很多网站设计师和开发者喜欢使用由JavaScript开发的插件和库,但同时面临一个苦恼的问题:它们中的大多数实在是太累赘而且常常降低网站的性能.其实,其中也有不少轻量级的插件和库,它们不仅轻巧有 ...
- 自己写一个轻量的JqueryGrid组件
接触mvc不久,突然没有了viewstate和服务端控件处处都觉得不顺手,很多在webform时不必要考虑的问题都出现在眼前,这其中分页时查询条件保持的问题又是最让我头疼的事情,权衡再三,决定用aja ...
- 曹工说Tomcat4:利用 Digester 手撸一个轻量的 Spring IOC容器
一.前言 一共8个类,撸一个IOC容器.当然,我们是很轻量级的,但能够满足基本需求.想想典型的 Spring 项目,是不是就是各种Service/DAO/Controller,大家互相注入,就组装成了 ...
随机推荐
- 链表反转(反转全部,前n个,中间)
链表反转 反转全部 // 迭代 struct ListNode *reverseList(struct ListNode *head) { struct ListNode *pre = NULL; s ...
- CSS动画(登录页面)
1.整体效果 https://mmbiz.qpic.cn/sz_mmbiz_gif/EGZdlrTDJa6Pfop3IiakrZOtiaiaKniaxeH2Gs407DmkXPsMo8AFKdsYib ...
- 使用-solidity-开发第一个-以太坊智能合约
目录 目录 使用 solidity 开发第一个 以太坊智能合约 前言 项目源代码 最终效果 环境搭建 智能合约内容 Truffle 创建项目 Truffle 编码 Truffle 打包 Truffle ...
- react hooks + ts 封装组件
react hooks+ts组件封装 简介 在react使用ts封装组件,需要注意类型, 使用 forwardRef 方法包起来 子组件 import * as React from "re ...
- 整理程序员面试中HR最常问的问题
前言 不要慌,不要怕,要调适好自己的情绪,在介绍自己的基本情况时面无表情,说的头头是道,必要的时候包装下自己,不属于你的功能也能说是你的(难不成会去查?查也查不到).不过在面试前,建议可以找自己的朋友 ...
- Dash 2.18.2版本更新:模式匹配回调性能大提升
本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master Gitee同步仓库地址:https://gitee.com/cnfeffer ...
- 全网最适合入门的面向对象编程教程:58 Python字符串与序列化-序列化Web对象的定义与实现
全网最适合入门的面向对象编程教程:58 Python 字符串与序列化-序列化 Web 对象的定义与实现 摘要: 如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML\YAM ...
- json数据按照某一个相同键值进行分类成一个新的二维json数组
1 formatTreeData(checkNodes){ 2 var map = {}, 3 targetData = []; 4 checkNodes.forEach(item => { 5 ...
- confd+Nacos实现nginx配置文件管理
场景: 由于公司内部站点保护的需求, 将部分的站点添加白名单, 这边的操作是在nginx配置文件中添加如下代码 allow 127.0.0.1: deny all; 但随之问题也出现了, 需要添加一个 ...
- 终端工具之Tabby
我工作中用的最多的工具之一就是「终端连接工具」了,因为经常和 Linux 服务器打交道,经常在上面跑代码.排查系统问题等等. Windows 系统最常用的就是 Xshell 这款终端工具了,但是它只能 ...