JS 时间常见单位之间的转换(Date/Moment/格式化/时间戳)
没啥技术含量,mark一下,方便查找~
单位之间的常见转换
1. Moment转string
引用:
import moment,{Moment} from 'moment/moment';
moment.locale('zh-cn');
moment().format('YYYY-MM-DD HH:mm:ss');
moment(1594967587594).format('YYYY-MM-DD');
2. Date转string
new Date().toLocaleDateString()
moment(new Date().getTime()).format('YYYY-MM-DD');
3. string/int转Date
new Date('2020-7-13')
new Date(1594967587594)
获取时间戳
1. moment转时间戳
与当前相隔的时间戳:
moment("20151010", "YYYYMMDD").fromNow().valueOf()
明天此时的时间戳:
moment().add('days',1).valueOf()
获取明日开始的时间戳:
const opDate = moment();
const curDay = today.get('date');
opDate.set('date', curDay + 1);
opDate.set('hour', 0);
opDate.set('minute', 0);
opDate.set('second', 0);
opDate.valueOf();
2. Date转时间戳
//今天
new Date().toLocaleDateString()
"2020/7/17"
new Date().getTime()
1594967587594
new Date(new Date().toLocaleDateString()).getTime()
1594915200000
//本周
new Date().getDay()
5
new Date('2020-7-13').getTime()
1594569600000
new Date(new Date().toLocaleDateString()).getTime()- 1000 * 60 * 60 * 24* (new Date().getDay()-1)
1594569600000
//本月
new Date('2020-7').getTime()
1593532800000
new Date('2020-7-1').getTime()
1593532800000
new Date().getDate()
17
new Date(new Date().toLocaleDateString()).getTime()- 1000 * 60 * 60 * 24* (new Date().getDate()-1)
1593532800000
//分步
var today = new Date();
var oneday = 1000 * 60 * 60 * 24;
var todayStamp=new Date(today.toLocaleDateString()).getTime();
var yesterdayStamp = todayStamp - oneday * 1;
var currentWeekStamp= todayStamp - oneday * (today.getDay()-1);
var currentMonthStamp=todayStamp - oneday * (today.getDate()-1);
日历-某个月的时间戳范围
1 //一个完整日历时间戳 2 var oneday = 1000 * 60 * 60 * 24; 3 var todayStamp = new Date(day.toLocaleDateString()).getTime(); 4 var monthFirstDay = todayStamp - oneday * (day.getDate() - 1); 5 var monthFirstDayWeekIndex = new Date(monthFirstDay).getDay(); 6 var calendarFirstDay = monthFirstDay - oneday * (monthFirstDayWeekIndex - 1); 7 var monthLastDay = new Date(day.getFullYear(), day.getMonth() + 1, 0); 8 var monthLastDayWeekIndex = monthLastDay.getDay(); 9 var calendarLastDay = monthLastDay.getTime() + (7 - monthLastDayWeekIndex + 1 + (monthFirstDayWeekIndex >= 6 ? 0 : 7)) * oneday;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗