社区
.NET Framework
帖子详情
求一个比较高效格式化日期的方法或算法
jiangchuandong
2007-01-19 01:26:14
因为要在cs 代码中生成流水号,流水号生成格式要求
1 如果是yyyy不转换,eg:1980,如果是yy格式的,要考虑尾3个位,2007-1900 = 107 ->[10][7] -> [A] [7]
2 月份如果是MM,则是整个月份,eg: 01,10 如果是M 转换为一位 eg:8,9,A,B
3 日期如果是DD,则是整个日期,如果是D,也转换为1位eg: 8,9,A
但不包含I,O,U,V
谢谢!
...全文
556
25
打赏
收藏
求一个比较高效格式化日期的方法或算法
因为要在cs 代码中生成流水号,流水号生成格式要求 1 如果是yyyy不转换,eg:1980,如果是yy格式的,要考虑尾3个位,2007-1900 = 107 ->[10][7] -> [A] [7] 2 月份如果是MM,则是整个月份,eg: 01,10 如果是M 转换为一位 eg:8,9,A,B 3 日期如果是DD,则是整个日期,如果是D,也转换为1位eg: 8,9,A 但不包含I,O,U,V 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wanghui0380
2007-01-21
打赏
举报
回复
象lz非要自己玩自己的话也不是不行
同样不要管他是如何输入的,先用补码补齐了就是了
另:输入条件含混,如果是yy格式的,要考虑尾3个位??
07是啥,2007 or 1907 ??
wanghui0380
2007-01-21
打赏
举报
回复
1.toString('yyyymmdd')
2. 在转成int
3.在正则\d{2},将10进制转成16进制
??不明白lz要干吗??你管他客户怎么输入的,统一转换成yyyymmdd不就成了,弄那么麻烦,不是自己玩自己
阿牛138588
2007-01-20
打赏
举报
回复
问题过于简单,顶一下
uno
2007-01-20
打赏
举报
回复
楼主是在做题目吧
这么无聊的问题也只有考卷上有了
jiangchuandong
2007-01-20
打赏
举报
回复
呵呵,谢谢你magicsnake(北极狐)
的回复,給我提供的参考价值意义比较大,不过,你仔细看看我的算法,年份是由3位数构成的,左边把2位转换为1位,这样可以表现的年份是10年才递增一次,也就是说这种算法就是算只用大写字母和数字的ASCII码的话,可以表示350年的数据
sunyongwang
2007-01-19
打赏
举报
回复
不,说错了,应该是算法中通过参数化可以实现8中生成方式。
sunyongwang
2007-01-19
打赏
举报
回复
哈哈,楼上的兄弟说的方法不错,虽然简单了些,但效率应该是比较高的。
但是,还是不能满足LZ的要求,LZ的意思是:生成流水号的方式是可以通过参数来变化的,也就是说共可以实现6中生成方式。
duncansun
2007-01-19
打赏
举报
回复
帮你顶呀!
renmasheshou
2007-01-19
打赏
举报
回复
JF
magicsnake
2007-01-19
打赏
举报
回复
年份的转换规则没有讲清楚,107如果只是单纯的划分为左2位右1位的话,左边部分一共有0-99一百个数字,而0-9,A-Z,a-z一共才62个,所以右边的1位不能单纯的用0-9数字表示,如果用上字母的话,楼主就需要把规则说明清楚才行.
其实规则定好了,把所有变化用数组保存起来,比如
1-12月就是[01][02][03]....[12]
1-31日就是[01][02].....[09][0A]....[...]
年份也是如此,一共三个数组
调用的时候直接用数字索引取数组内的字符串就OK了,没有必要再话那么多心思去计算
teayear
2007-01-19
打赏
举报
回复
也没明白楼主什么意思
xyunsh
2007-01-19
打赏
举报
回复
..
oldmoon
2007-01-19
打赏
举报
回复
也没明白楼主什么意思
viena
2007-01-19
打赏
举报
回复
晕,这个有难度吗?
szj820
2007-01-19
打赏
举报
回复
是呀,看不懂,不过有分就接
working1997
2007-01-19
打赏
举报
回复
认真看了2遍问题,还是没看懂干什么,晕
lr21shiji
2007-01-19
打赏
举报
回复
帮顶。
GXY2005
2007-01-19
打赏
举报
回复
没看懂。帮顶。
Koala_sea
2007-01-19
打赏
举报
回复
没看懂。帮顶。
ice_frank
2007-01-19
打赏
举报
回复
UP
加载更多回复(5)
java源码包---java 源码 大量 实例
6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每
一个
EJB对象的count()
方法
,保证Bean正常被激活和钝化,EJB对象是用...
java源码包2
6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每
一个
EJB对象的count()
方法
,保证Bean正常被激活和钝化,EJB对象是用...
Dart
高效
时间
格式化
、迭代器工具类库
: 提供一系列关于时间的操作,如时间
格式化
,字符串转时间等
方法
转换
方法
: 提供一系列关于转换具体类型的操作 Scope : 提供在限定的作用域内,有状态无状态消息之间的交互。 迭代器 闭包命名 ...
【
高效
开发工具系列】Hutool DateUtil工具类
简单易用:DateUtil 提供了大量的静态
方法
,可以方便地进行
日期
的
格式化
、解析、
比较
、计算等操作,使用起来非常简单。功能丰富:DateUtil 支持多种
日期
格式的解析和
格式化
,可以处理常见的
日期
操作,比如
日期
比较
、...
常用十大排序
算法
列举了常见的十大内部排序
算法
:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序,计数排序,桶排序。
.NET Framework
17,740
社区成员
24,334
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章