首页 文章 精选 留言 我的

精选列表

搜索[开源协作平台],共10000篇文章
优秀的个人博客,低调大师

ShopXO 免费开源商城系统 v6.3 版本已发布、事半功倍

更新日志 1.【新增】送礼插件 2.【新增】文档插件 3.【新增】登录日志插件 4.【新增】手机归属地插件 5.【新增】DIY可视化装修手机端 6.【新增】支持手机端底部菜单支持DIY管理 7.【新增】后台查看错误日志 8.【新增】token生成规则配置 9.【新增】图片验证码增加随机类型 10.【新增】附件管理、附件分类管理 11.【新增】拉卡拉收银台支付插件 12.【新增】搜索页支持商品产地筛选 13.【新增】主题、支付方式、插件、页面设计、DIY装修支持在线导入 14.【新增】主富文本编辑器组件支持分类筛选 15.【新增】主富文本编辑器组件支持拖入、截图、远程扫码上传 16.【新增】主富文本编辑器代码支持高亮 17.【优化】用户状态验证优化 18.【优化】cookie读取域名优化 19.【优化】layout页面设计结构调整 20.【优化】后台首页统计,初始化分离 21.【优化】主题支持覆盖插件视图文件 22.【优化】exce导出支持选择指定数据 23.【优化】商品读取sql优化 24.【门店】增加员工手机端核销,支持骑手插件派单,基础模式优化支持(基础、商品、基础+商品) 25.【多商户】商品分类支持二级,新增商品审核,支持骑手插件派单,增加员工管理和手机端核销 26.【进销存】支持品牌数据双向同步,excel导入错误展示修复、并支持图片 27.【配送员】支持多门店和多商户 28.【会员等级】增加价格显示开关 29.【积分商城】扫码错误,防伪码,礼品卡的二维码支持导出 30.【工具箱】支持自定义商品外部地址,新增excel库存批量修改 31.【钱包】提现方式支持(微信、支付宝)零钱转账,支持自动提现 32【问答】增加分类,增加通知手机和邮箱,消息提醒适配问答 手机DIY装修图片展示 手机端效果图片展示 PC 效果图片展示

优秀的个人博客,低调大师

新晋开源项目 Carbon 加入 Dromara,Gopher 的时间工具来了

对于gopher来说,时间处理是一个常见但又复杂的问题,特别是仅依赖内置的time.Time包时,尤其是我们在格式化时间的时候,需要用固定的Layout,如 now:=time.Now() //这几个数字不能乱写,不然转化过来的时间会很莫名其妙 strNow:=now.Format("2006/01/0203:04:05") 这时carbon的用武之地就展现出来了,在Golang语言圈中,如果你是做日期和时间相关的工作,还没有听说过Carbon库,我劝你还是把之前编写的日期和时间相关的代码再捋一捋,看看Carbon能帮你节省多少时间。 Carbon是一个专为Golang设计的轻量级、语义化、对开发者友好的 时间处理库,被誉为Golang时间处理的瑞士军刀,它提供了一系列简洁而强大的API,使得时间操作变得异常简单。无论是基本的日期时间计算,还是复杂的时区转换,Carbon都能轻松应对。此外,Carbon已经被awesome-go收录,还被gitee评选为年度最有价值项目 (GVP),证明了其在Golang社区中的受欢迎程度。 安装使用 Golang 版本大于等于 1.17 (推荐) //使用github库 goget-ugithub.com/golang-module/carbon/v2 import"github.com/golang-module/carbon/v2" //使用gitee库 goget-ugitee.com/golang-module/carbon/v2 import"gitee.com/golang-module/carbon/v2" Golang 版本小于 1.17 (必须) //使用github库 goget-ugithub.com/golang-module/carbon import"github.com/golang-module/carbon" //使用gitee库 goget-ugitee.com/golang-module/carbon import"gitee.com/golang-module/carbon" 用法示例 假设当前时间为 2020-08-05 13:14:15.999999999 +0800 CST 设置全局默认值 carbon.SetDefault(carbon.Default{ Layout:carbon.DateTimeLayout, Timezone:carbon.PRC, WeekStartsAt:carbon.Sunday, Locale:"zh-CN",//取值范围:lang目录下翻译文件名,不包含文件后缀 }) Carbon和time.Time互转 //将标准time.Time转换成Carboncarbon.CreateFromStdTime(time.Now()) //将Carbon转换成标准time.Timecarbon.Now().StdTime() 昨天、今天、明天 //今天此刻 fmt.Printf("%s",carbon.Now())//2020-08-0513:14:15 carbon.Now().String()//2020-08-0513:14:15 carbon.Now().ToString()//2020-08-0513:14:15+0800CST carbon.Now().ToDateTimeString()//2020-08-0513:14:15 //今天日期 carbon.Now().ToDateString()//2020-08-05 //今天时间 carbon.Now().ToTimeString()//13:14:15 //指定时区的今天此刻 carbon.Now(Carbon.NewYork).ToDateTimeString()//2020-08-0514:14:15 //今天秒级时间戳 carbon.Now().Timestamp()//1596604455 //今天毫秒级时间戳 carbon.Now().TimestampMilli()//1596604455999 //今天微秒级时间戳 carbon.Now().TimestampMicro()//1596604455999999 //今天纳秒级时间戳 carbon.Now().TimestampNano()//1596604455999999999 //昨天此刻 fmt.Printf("%s",carbon.Yesterday())//2020-08-0413:14:15 carbon.Yesterday().String()//2020-08-0413:14:15 carbon.Yesterday().ToString()//2020-08-0413:14:15+0800CST carbon.Yesterday().ToDateTimeString()//2020-08-0413:14:15 //昨天日期 carbon.Yesterday().ToDateString()//2020-08-04 //昨天时间 carbon.Yesterday().ToTimeString()//13:14:15 //指定日期的昨天此刻 carbon.Parse("2021-01-2813:14:15").Yesterday().ToDateTimeString()//2021-01-2713:14:15 //指定时区的昨天此刻 carbon.Yesterday(Carbon.NewYork).ToDateTimeString()//2020-08-0414:14:15 //昨天秒级时间戳 carbon.Yesterday().Timestamp()//1596518055 //昨天毫秒级时间戳 carbon.Yesterday().TimestampMilli()//1596518055999 //昨天微秒级时间戳 carbon.Yesterday().TimestampMicro()//1596518055999999 //昨天纳秒级时间戳 carbon.Yesterday().TimestampNano()//1596518055999999999 //明天此刻 fmt.Printf("%s",carbon.Tomorrow())//2020-08-0613:14:15 carbon.Tomorrow().String()//2020-08-0613:14:15 carbon.Tomorrow().ToString()//2020-08-0613:14:15+0800CST carbon.Tomorrow().ToDateTimeString()//2020-08-0613:14:15 //明天日期 carbon.Tomorrow().ToDateString()//2020-08-06 //明天时间 carbon.Tomorrow().ToTimeString()//13:14:15 //指定日期的明天此刻 carbon.Parse("2021-01-2813:14:15").Tomorrow().ToDateTimeString()//2021-01-2913:14:15 //指定时区的明天此刻 carbon.Tomorrow(Carbon.NewYork).ToDateTimeString()//2020-08-0614:14:15 //明天秒级时间戳 carbon.Tomorrow().Timestamp()//1596690855 //明天毫秒级时间戳 carbon.Tomorrow().TimestampMilli()//1596690855999 //明天微秒级时间戳 carbon.Tomorrow().TimestampMicro()//1596690855999999 //明天纳秒级时间戳 carbon.Tomorrow().TimestampNano()//1596690855999999999 创建Carbon实例 //从秒级时间戳创建Carbon实例 carbon.CreateFromTimestamp(-1).ToString()//1970-01-0107:59:59+0800CST carbon.CreateFromTimestamp(0).ToString()//1970-01-0108:00:00+0800CST carbon.CreateFromTimestamp(1).ToString()//1970-01-0108:00:01+0800CST carbon.CreateFromTimestamp(1649735755).ToString()//2022-04-1211:55:55+0800CST //从毫秒级时间戳创建Carbon实例 carbon.CreateFromTimestampMilli(1649735755981).ToString()//2022-04-1211:55:55.981+0800CST //从微秒级时间戳创建Carbon实例 carbon.CreateFromTimestampMicro(1649735755981566).ToString()//2022-04-1211:55:55.981566+0800CST //从纳秒级时间戳创建Carbon实例 carbon.CreateFromTimestampNano(1649735755981566000).ToString()//2022-04-1211:55:55.981566+0800CST //从年月日时分秒创建Carbon实例 carbon.CreateFromDateTime(2020,8,5,13,14,15).ToString()//2020-08-0513:14:15+0800CST //从年月日时分秒创建Carbon实例,包含毫秒 carbon.CreateFromDateTimeMilli(2020,8,5,13,14,15,999).ToString()//2020-08-0513:14:15.999+0800CST //从年月日时分秒创建Carbon实例,包含微秒 carbon.CreateFromDateTimeMicro(2020,8,5,13,14,15,999999).ToString()//2020-08-0513:14:15.999999+0800CST //从年月日时分秒创建Carbon实例,包含纳秒 carbon.CreateFromDateTimeNano(2020,8,5,13,14,15,999999999).ToString()//2020-08-0513:14:15.999999999+0800CST //从年月日创建Carbon实例 carbon.CreateFromDate(2020,8,5).ToString()//2020-08-0500:00:00+0800CST //从年月日创建Carbon实例,包含毫秒 carbon.CreateFromDateMilli(2020,8,5,999).ToString()//2020-08-0500:00:00.999+0800CST //从年月日创建Carbon实例,包含微秒 carbon.CreateFromDateMicro(2020,8,5,999999).ToString()//2020-08-0500:00:00.999999+0800CST //从年月日创建Carbon实例,包含纳秒 carbon.CreateFromDateNano(2020,8,5,999999999).ToString()//2020-08-0500:00:00.999999999+0800CST //从时分秒创建Carbon实例(年月日默认为当前年月日) carbon.CreateFromTime(13,14,15).ToString()//2020-08-0513:14:15+0800CST //从时分秒创建Carbon实例(年月日默认为当前年月日),包含毫秒 carbon.CreateFromTimeMilli(13,14,15,999).ToString()//2020-08-0513:14:15.999+0800CST //从时分秒创建Carbon实例(年月日默认为当前年月日),包含微秒 carbon.CreateFromTimeMicro(13,14,15,999999).ToString()//2020-08-0513:14:15.999999+0800CST //从时分秒创建Carbon实例(年月日默认为当前年月日),包含纳秒 carbon.CreateFromTimeNano(13,14,15,999999999).ToString()//2020-08-0513:14:15.999999999+0800CST 将时间字符串解析成Carbon实例 carbon.Parse("").ToDateTimeString()//空字符串 carbon.Parse("0").ToDateTimeString()//空字符串 carbon.Parse("00:00:00").ToDateTimeString()//空字符串 carbon.Parse("0000-00-00").ToDateTimeString()//空字符串 carbon.Parse("0000-00-0000:00:00").ToDateTimeString()//空字符串 carbon.Parse("now").ToString()//2020-08-0513:14:15+0800CST carbon.Parse("yesterday").ToString()//2020-08-0413:14:15+0800CST carbon.Parse("tomorrow").ToString()//2020-08-0613:14:15+0800CST carbon.Parse("2020").ToString()//2020-01-0100:00:00+0800CST carbon.Parse("2020-8").ToString()//2020-08-0100:00:00+0800CST carbon.Parse("2020-08").ToString()//2020-08-0100:00:00+0800CST carbon.Parse("2020-8-5").ToString()//2020-08-0500:00:00+0800CST carbon.Parse("2020-8-05").ToString()//2020-08-0500:00:00+0800CST carbon.Parse("2020-08-05").ToString()//2020-08-0500:00:00+0800CST carbon.Parse("2020-08-05.999").ToString()//2020-08-0500:00:00.999+0800CST carbon.Parse("2020-08-05.999999").ToString()//2020-08-0500:00:00.999999+0800CST carbon.Parse("2020-08-05.999999999").ToString()//2020-08-0500:00:00.999999999+0800CST carbon.Parse("2020-8-513:14:15").ToString()//2020-08-0513:14:15+0800CST carbon.Parse("2020-8-0513:14:15").ToString()//2020-08-0513:14:15+0800CST carbon.Parse("2020-08-513:14:15").ToString()//2020-08-0513:14:15+0800CST carbon.Parse("2020-08-0513:14:15").ToString()//2020-08-0513:14:15+0800CST carbon.Parse("2020-08-0513:14:15.999").ToString()//2020-08-0513:14:15.999+0800CST carbon.Parse("2020-08-0513:14:15.999999").ToString()//2020-08-0513:14:15.999999+0800CST carbon.Parse("2020-08-0513:14:15.999999999").ToString()//2020-08-0513:14:15.999999999+0800CST carbon.Parse("2020-8-5T13:14:15+08:00").ToString()//2020-08-0513:14:15+0800CST carbon.Parse("2020-8-05T13:14:15+08:00").ToString()//2020-08-0513:14:15+0800CST carbon.Parse("2020-08-05T13:14:15+08:00").ToString()//2020-08-0513:14:15+0800CST carbon.Parse("2020-08-05T13:14:15.999+08:00").ToString()//2020-08-0513:14:15.999+0800CST carbon.Parse("2020-08-05T13:14:15.999999+08:00").ToString()//2020-08-0513:14:15.999999+0800CST carbon.Parse("2020-08-05T13:14:15.999999999+08:00").ToString()//2020-08-0513:14:15.999999999+0800CST carbon.Parse("20200805").ToString()//2020-08-0500:00:00+0800CST carbon.Parse("20200805131415").ToString()//2020-08-0513:14:15+0800CST carbon.Parse("20200805131415.999").ToString()//2020-08-0513:14:15.999+0800CST carbon.Parse("20200805131415.999999").ToString()//2020-08-0513:14:15.999999+0800CST carbon.Parse("20200805131415.999999999").ToString()//2020-08-0513:14:15.999999999+0800CST carbon.Parse("20200805131415.999+08:00").ToString()//2020-08-0513:14:15.999+0800CST carbon.Parse("20200805131415.999999+08:00").ToString()//2020-08-0513:14:15.999999+0800CST carbon.Parse("20200805131415.999999999+08:00").ToString()//2020-08-0513:14:15.999999999+0800CST carbon还提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持。 将公历转换成农历 //获取农历生肖 carbon.Parse("2020-08-0513:14:15").Lunar().Animal()//鼠 //获取农历节日 carbon.Parse("2021-02-1213:14:15").Lunar().Festival()//春节 //获取农历年份 carbon.Parse("2020-08-0513:14:15").Lunar().Year()//2020 //获取农历月份 carbon.Parse("2020-08-0513:14:15").Lunar().Month()//6 //获取农历闰月月份 carbon.Parse("2020-08-0513:14:15").Lunar().LeapMonth()//4 //获取农历日期 carbon.Parse("2020-08-0513:14:15").Lunar().Day()//16 //获取农历时辰 carbon.Parse("2020-08-0513:14:15").Lunar().Hour()//13 //获取农历分钟 carbon.Parse("2020-08-0513:14:15").Lunar().Minute()//14 //获取农历秒数 carbon.Parse("2020-08-0513:14:15").Lunar().Second()//15 //获取农历日期时间字符串 carbon.Parse("2020-08-0513:14:15").Lunar().String()//2020-06-1613:14:15 fmt.Printf("%s",carbon.Parse("2020-08-0513:14:15").Lunar())//2020-06-1613:14:15 //获取农历年字符串 carbon.Parse("2020-08-0513:14:15").Lunar().ToYearString()//二零二零 //获取农历月字符串 carbon.Parse("2020-08-0513:14:15").Lunar().ToMonthString()//六月 //获取农历闰月字符串 carbon.Parse("2020-04-2313:14:15").Lunar().ToMonthString()//闰四月 //获取农历周字符串 carbon.Parse("2020-04-2313:14:15").Lunar().ToWeekString()//周四 //获取农历天字符串 carbon.Parse("2020-08-0513:14:15").Lunar().ToDayString()//十六 //获取农历日期字符串 carbon.Parse("2020-08-0513:14:15").Lunar().ToDateString()//二零二零年六月十六 //是否是零值时间 carbon.Parse("0000-00-0000:00:00").Lunar().IsZero()//true carbon.Parse("2020-08-0513:14:15").Lunar().IsZero()//false //是否是农历闰年 carbon.Parse("2020-08-0513:14:15").Lunar().IsLeapYear()//true //是否是农历闰月 carbon.Parse("2020-08-0513:14:15").Lunar().IsLeapMonth()//false //是否是鼠年 carbon.Parse("2020-08-0513:14:15").Lunar().IsRatYear()//true //是否是牛年 carbon.Parse("2020-08-0513:14:15").Lunar().IsOxYear()//false //是否是虎年 carbon.Parse("2020-08-0513:14:15").Lunar().IsTigerYear()//false //是否是兔年 carbon.Parse("2020-08-0513:14:15").Lunar().IsRabbitYear()//false //是否是龙年 carbon.Parse("2020-08-0513:14:15").Lunar().IsDragonYear()//false //是否是蛇年 carbon.Parse("2020-08-0513:14:15").Lunar().IsSnakeYear()//false //是否是马年 carbon.Parse("2020-08-0513:14:15").Lunar().IsHorseYear()//false //是否是羊年 carbon.Parse("2020-08-0513:14:15").Lunar().IsGoatYear()//false //是否是猴年 carbon.Parse("2020-08-0513:14:15").Lunar().IsMonkeyYear()//false //是否是鸡年 carbon.Parse("2020-08-0513:14:15").Lunar().IsRoosterYear()//false //是否是狗年 carbon.Parse("2020-08-0513:14:15").Lunar().IsDogYear()//false //是否是猪年 carbon.Parse("2020-08-0513:14:15").Lunar().IsPigYear()//false 将农历转化成公历 //将农历二零二三年腊月十一转化为公历 carbon.CreateFromLunar(2023,12,11,0,0,0,false).ToDateTimeString()//2024-01-2100:00:00 //将农历二零二三年二月十一转化为公历 carbon.CreateFromLunar(2023,2,11,0,0,0,false).ToDateTimeString()//2023-03-0200:00:00 //将农历二零二三年闰二月十一转化为公历 carbon.CreateFromLunar(2023,2,11,0,0,0,true).ToDateTimeString()//2023-04-0100:00:00 目前已支持简体中文、繁体中文、英语、日语、德语、西班牙语、法语、阿拉伯语等 26 国语言的支持。 Laravel 结语 无论是新手还是经验丰富的Golang开发者,Carbon都是一个值得尝试的库。通过它,你可以更加优雅地处理时间问题,提高代码的可读性和开发效率。现在就将Carbon引入你的项目,享受编程带来的乐趣吧! Gitee:https://gitee.com/dromara/carbon

优秀的个人博客,低调大师

SofaRPC v5.13.2 发布,蚂蚁金服开源 Java RPC 框架

SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架。SofaRPC v5.13.2 现已发布,此版本添加了一些功能,带来了对 sofa-rpc 框架的增强和一些错误修复(需要 JDK8 版本支持)。具体更新内容如下: What's Changed Enhancement 将 hessian 版本更新至 3.5.5#1445 移除lookout#1447 增强代码#1453 chore(deps): 在 /bom 中将 commons-io:commons-io 从 2.7 升级到 2.14.0#1451 Feature feat: 支持triple grpc heart beat#1432 添加 SofaRejectedExecutionHandler 供用户自定义线程池#1450 Mesh Registry 支持 sofa registry的自定义组#1454 Fix 修复:更新 provider为 null#1452 Chore 修复组织 url,http://www.antfin.com 目前不可用#1440 更新说明:https://github.com/sofastack/sofa-rpc/releases/tag/v5.13.2

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册