上班时间 下班时间 8:30AM 5:30PM 7:30AM 10:30PM 1:30AM 10:00PM 4:30AM 12:00PM 8:00AM 5:00PM 7:00AM 1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上班时间 下班时间 8:30AM 5:30PM 7:30AM 10:30PM 1:30AM 10:00PM 4:30AM 12:00PM 8:00AM 5:00PM 7:00AM 1相关的知识,希望对你有一定的参考价值。

上班时间 下班时间
8:30AM 5:30PM
7:30AM 10:30PM
1:30AM 10:00PM
4:30AM 12:00PM
8:00AM 5:00PM
7:00AM 11:00PM
9:30AM 6:00PM
2:00AM 10:00PM
把这两者进行格式话,请问什么叫格式化,怎样格式化?

格式化是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。格式化通常分为低级格式化和高级格式化。如果没有特别指明,对硬盘的格式化通常是指高级格式化,而对软盘的格式化则通常同时包括这两者。

目录

格式化的介绍
什么叫格式化?怎么格式化?
格式化与低级格式化的区别
Windows/DOS 系统下的格式化FORMAT最主要、最常用的参数:
快速格式化
数据安全性
格式化能清除硬盘上的病毒么?
在Windows环境下能格式化所有硬盘分区么?
怎样格式化所有硬盘分区?
Linux 下的格式化Linux 下有图形界面的格式化工具:
Ubuntu/Debian 用户可以用:
Linux下添加新硬盘及分区格式化要点
硬盘格式化的杀毒作用一、DOS的启动
二、退回到A:盘
语法
设置值
说明
格式化的介绍
什么叫格式化?怎么格式化?
格式化与低级格式化的区别
Windows/DOS 系统下的格式化 FORMAT最主要、最常用的参数:
快速格式化
数据安全性
格式化能清除硬盘上的病毒么?
在Windows环境下能格式化所有硬盘分区么?
怎样格式化所有硬盘分区?
Linux 下的格式化 Linux 下有图形界面的格式化工具:
Ubuntu/Debian 用户可以用:
Linux下添加新硬盘及分区格式化要点
硬盘格式化的杀毒作用 一、DOS的启动
二、退回到A:盘
语法
设置值
说明
展开 编辑本段格式化的介绍
格式化,简单说,就是把一张空白的盘划分成一个个小区域并编号,供计算机储存, 右键单击磁盘→格式化(A)...
读取数据。没有这个工作,计算机就不知在哪写,从哪读。 格式化这一概念原只应用于电脑硬盘,随着电子产品不断发展,很多存储器都用到了“格式化”这一名词,狭义的理解,就等于数据清零,删掉存储器内的所有数据,并将存储器恢复到初始状态。 硬盘必须先经过分区才能使用,磁盘经过分区之后,下一个步骤就是要对硬盘进行高级格式化(FORMAT)的工作,硬盘都必须格式化才能使用。 格式化是在磁盘中建立磁道和扇区,磁道和扇区建立好之后,电脑才可以使用磁盘来储存数据。 这里我们用一个形象的比喻:假如硬盘是一间大的清水房,我们把它隔成三居室(分成三个区);但是我们还不能马上入住,之前还必须对每个房间进行清洁和装修,那么这里的格式化就是“清洁和装修”这一步了!另外,硬盘使用前的高级格式化还能识别硬盘磁道和扇区有无损伤,如果格式化过程畅通无阻,硬盘一般无大碍。
编辑本段什么叫格式化?怎么格式化?
简单地说,格式化就是为磁盘做初始化的工作,以便我们能够按部就班地往磁盘上记录资料。好比我们有一所大房子要用来存放书籍,我们不会搬来书往屋里地上一扔了事,而是要先在里面支起书架,标上类别,把书分门别类地放好。 我们新购买的磁盘在使用之前,要能让操作系统认得它,要先写入一些磁性的记号到磁盘上的每一扇区,便可在该操作系统下取用磁盘上的数据,这个动作就称为格式化。 高级格式化和低级格式化 格式化动作可分为高级格式化(high-level format)和低级格式化(low-level format)两种。软盘只有高级格式化;而硬盘不仅有高级格式化,还有低级格式化的动作。低级格式化都是针对硬件的磁道为单位来工作,这个格式化动作是在硬盘分区和高级格式化之前做的,通常一般的使用者并不会去做这个动作。 若未特别指明,则一般格式化的动作所指的都是高级格式化。在MS-DOS操作系统当中,我们可以使用FORMAT指令来格式化硬盘与软盘,例如要格式化一片在磁盘驱动器A:当中的磁盘片,并将开机文件放入该磁盘当中,则使用‘FORMAT A: /S’指令,而在Windows操作系统中,格式化的动作则由‘资源管理器’来执行(右键点击磁盘名称-->“格式化……”)。 格式化的动作通常是在磁盘的开端写入启动扇区(boot sector)的数据、在根目录记录磁盘标签(volume label)、为文件分配表(FAT)保留一些空间,以及检查磁盘上是否有损坏的扇区,若有的话则在文件分配表标上损毁的记号(一般用大写字母“B”代表“BAD”),表示在该扇区并不用来储存数据。 注:在高级格式化之前,通常我们必须为磁盘驱动器指定分区(partition),这是将一个实体磁盘驱动器分为数个分区,以使得不同的操作系统使用不同的分区,或是分为数台逻辑磁盘驱动器,这个动作称为“磁盘分区”。
编辑本段格式化与低级格式化的区别
低级格式化就是将空白的磁盘划分出柱面和磁道,再将磁道划分为若干个扇区,每个扇区又划分出标识部分ID、间隔区GAP和数据区DATA等。可见,低级格式化是高级格式化之前的一件工作,它只能够在DOS环境来完成。而且低级格式化只能针对一块硬盘而不能支持单独的某一个分区。每块硬盘在出厂时,已由硬盘生产商进行低级格式化,因此通常使用者无需再进行低级格式化操作。其实,我们对一张软盘进行的全面格式化就是一种低级格式化。 需要指出的是,低级格式化是一种损耗性操作,其对硬盘寿命有一定的负面影响。因此,许多硬盘厂商均建议用户不到万不得已,不可“妄”使此招。当硬盘受到外部强磁体、强磁场的影响,或因长期使用,硬盘盘片上由低级格式化划分出来的扇区格式磁性记录部分丢失,从而出现大量“坏扇区”时,可以通过低级格式化来重新划分“扇区”。但是前提是硬盘的盘片没有受到物理性划伤。 高级格式化就是清除硬盘上的数据、生成引导区信息、初始化FAT表、标注逻辑坏道等。一般我们重装系统时都是高级格式化,因为MBR不重写,所以有存在病毒的可能。MBR病毒可以通过杀毒软件清除或者在DOS下执行 fdisk /mbr 重写MBR 以彻底清除病毒。 简单地说,高级格式化就是和操作系统有关的格式化,低级格式化就是和操作系统无关的格式化。 高级格式化主要是对硬盘的各个分区进行磁道的格式化,在逻辑上划分磁道。对于高级格式化,不同的操作系统有不同的格式化程序、不同的格式化结果、不同的磁道划分方法。 低级格式化是物理级的格式化,主要是用于划分硬盘的磁柱面、建立扇区数和选择扇区间隔比。硬盘要先低级格式化才能高级格式化,而刚出厂的硬盘已经经过了低级格式化,无须用户再进行低级格式化了。一般,只有在十分必要的情况下,用户才需要进行低级格式化,比如说,你的硬盘坏道太多,经常导致存取数据时产生错误,甚至操作系统根本无法使用,那么你就需要进行低级格式化了。再有如果你的硬盘上的某些和低级格式化有关的参数被病毒破坏了,如硬盘间隔系数等,那么你只有进行低级格式化重新建立这些参数了。 很多主板的CMOS中都提供了进行低级格式化的功能,一般在HDD Low Level Format选项中,你的主板上如果有这个选项,你就可以直接使用其中的Hard Disk Low Level Format Utility进行低级格式化。也有很多主板上没有低级格式化的功能,如果是这样的话,那你最好使用该硬盘厂商提供的硬盘管理、低级格式化程序。也有一般通用的低级格式化程序,如DM(Disk Manager),PC-Tools等,如果你的硬盘是比较标准的,也可以使用这些工具进行低级格式化。
编辑本段Windows/DOS 系统下的格式化
在Windows和DOS操作系统下,都有格式化Format的程序,不过,一旦进行格式化硬盘的工作,硬盘中的数据可是会全部不见喔!所以进行这个动作前,先确定磁盘中的数据是否还有需要,如果是的话先另行备份吧。 如果用对硬盘的C:区进行格式化键入格式如下: [ ]内可填入参数,建议大家一般不要填加参数。 直接键入format C: ,然后回车就可以了,因为对一般人来说填加参数意义不大。
FORMAT最主要、最常用的参数:
/u 对硬盘进行破坏性格式化,如果不填加此参数,硬盘根目录下将产生一个隐藏的MIRROR映像文件,如果未进行其它硬盘操作,可以用UNFORMAT 恢复原来的硬盘内容,当然最好在格式化硬盘之前,将需要备份的数据等先备份好。 /s 格式化之后将DOS系统文件复制到硬盘根目录,填加此项参数,硬盘可以启动至C: 的状态,这在DOS时代非常有用,现在已经没有什么实际意义了。 /c 格式化硬盘的同时检查硬盘扇区并修复坏扇区,这种修复并不十分可靠,还会影响格式化的速度。 /v [label] 格式化后给硬盘加上[ ]内的卷标(名字)。 /q 快速格式化还有一些不常用的参数,就不一一介绍了。 我们仍需用WINDOWS98的启动盘,将其插入计算机的A驱动器,然后打开计算机,按1键,按回车,十几秒后屏幕将出现A: ,因为我们硬盘有3个分区,所以键入f: ,回车,屏幕变成F: (如果是2个分区就键入e: 回车,如果4个分区,就键入g: ,回车,以此类推)键入format c: 回车,出现下面提示。 WARNING , ALL DATA ON NON-REMOVABLE DISK DRIVE C: WILL BE LOST! Proceed with Format (Y/N)n 意思是说危险,C区数据将丢失,是否格式化? 我们按Y,回车,这时会出现一个进度数字指示,从1开始到99结束,格式化5G硬盘,如果计算机的配置高的化,2分钟左右可以结束,配置低则也可能要用5、6分钟,也许更慢些,但如果很长时间,进度数字不动的话,则硬盘有问题,需要更换或维修。 当进度数字闪过99后,出现下面的提示。 Volume label ( 11 characters , ENTER for none)? 意思是让我们给硬盘起个卷标,也就是名字,如果直接回车,则没有卷标名称。 然后会出现格式化完成后,硬盘空间的列表,会告诉我们硬盘的总容量,可用空间,系统占用空间,坏扇区占用空间,卷标,剩余空间等数据,并回到了F:/ 的状态,这说明我们已经成功的完成了格式化C分区的格式化,然后还按上面的步骤依次完成对D:区和E:区的格式化工作。 格式化:指对磁盘进行使用前的预处理以便存入数据。一般而言,新盘是必须格式化的,而使用过的旧盘也可以格式化,格式化后磁盘上全部数据将被删除。 注意:硬盘的格式化是一项非常危险的操作,建议提前备份重要数据,如果没有及时备份就格的用户可以在格式化(高级格式化)后用户可以用一些恢复软件来恢复重要数据,但是全区恢复的前提是没对格的分区写入任何内容。如果写进内容了,就可能不全部恢复了,但还是能恢复部分数据!
快速格式化
在对磁盘进行格式化时,我们还有一个选择是“快速格式化”。 当运行常规格式化命令时,会在当前分区的文件分配表中将分区上的每一个扇区标记为空闲可用,同时系统将扫描硬盘以检查是否有坏扇区,扫描过程中会为每一个扇区打上可用标记。扫描坏扇区的工作占据了格式化磁盘分区的大部分时间。 如果选择的是快速格式化,那么将只从分区文件分配表中做删除标记,而不扫描磁盘以检查是否有坏扇区。只有在硬盘以前曾被格式化过并且在能确保硬盘没有损坏的情况下,才可以使用此选项。
数据安全性
理论上讲,高级格式化(不论是快速还是普通形式)并没有真正从磁盘上删除数据,它只是给数据所在的磁盘扇区的开头部分写入了一种特殊的删除标记,告诉系统这里可以写入新的数据。只要在格式化后没有立刻用全新的数据覆盖整个硬盘,那么原来的数据还会好端端在那里,只需要一些特定的软件即可恢复原来的数据。 相反地,低级格式化所做的是将磁盘上的每一个扇区用“00”覆盖,这将完全地破坏硬盘上的所有数据,不再有恢复的可能。
格式化能清除硬盘上的病毒么?
是的。只要针对某个分区的格式化命令被执行,这个分区上的一切现有数据就被标记为不可读。病毒作为一种程序文件自然也就看不到了,当然也就不可能再运行。 值得注意的是,一个硬盘往往不止一个分区,表现在“我的电脑”中,你会看到从C:开始的好几个盘符。你必须将所有这些不同盘符的分区格式化之后才能说自己的硬盘上百分百的没有病毒。否则的话,这个盘被格式化了,那个盘上还有病毒,什么时候打开别的盘来一读,病毒又会回来了。
在Windows环境下能格式化所有硬盘分区么?
答案是“不能”。只要Windows系统启动起来,在系统盘(一般是C:盘,也可自定义)上就有一些系统文件被锁定为不可移动或删除。Windows下的格式化命令是图形界面的Windows程序,这种程序是Windows操作系统的附属工具,离开Windows操作系统就无法运行,所以它不能格式化它的“上级”系统程序所在的磁盘分区。 只要不是系统分区,别的分区都可以轻松地对之进行格式化的操作。
怎样格式化所有硬盘分区?
答:想办法进入DOS,比如用Windows的启动光盘。进入DOS命令行界面后,使用 FORMAT X:(把X:换成任意字母+半角冒号,"X"必须是FAT格式分区)即可。也可用其他第三方磁盘管理工具比如PQ Magic等。这些磁盘分区软件,可以在分区的同时对当前分区进行格式化。
编辑本段Linux 下的格式化
Linux 下有图形界面的格式化工具:
Gparted,推荐新手使用,界面直观,操作方便
Ubuntu/Debian 用户可以用:
apt-get install gparted 来安装它 另外,Linux 下的格式化命令是 mkfs.[文件系统] 比如 mkfs.ext3 mkfs.vfat mkfs.ntfs mkfs.xfs 等等 如果要把 /dev/sda1 格式化为 Ext3 文件系统,就输入 mkfs.ext3 /dev/sda1 即可完成格式化。其他操作与此相似,都是 mkfs.[文件系统] [分区]
Linux下添加新硬盘及分区格式化要点
在为主机添加硬盘前,首先要了解linux系统下对硬盘和分区的命名方法。 在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb。依此类推 一般主板上有两个IDE接口,一共可以安装四个IDE设备。主IDE上的两个设备分别对应hda和hdb,第二个IDE口上的两个设备对应hdc和hdd。 一般硬盘安装在主IDE的主接口上,所以是hda;光驱一般安装在第二个IDE的主接口上,所以是hdc(应为hdb是用来命名主IDE上的从接口) SCSI接口设备是用sd命名的,第一个设备是sda,第二个是sdb。依此类推 分区是用设备名称加数字命名的。例如hda1代表hda这个硬盘设备上的第一个分区。 每个硬盘可以最多有四个主分区,作用是1-4命名硬盘的主分区。逻辑分区是从5开始的,每多一个分区,数字加以就可以。 比如一般的系统都有一个主分区用来引导系统,这个分区对应大家常说的C区,在linux下命名是hda1。后面我们分三个逻辑分区对应常说的D、E、F,在linux下命名是hda5、hda6、hda7 给硬盘分区 在slackware下有两个分区软件fdisk和cfdisk 例如现已经有一个硬盘了,现在添加另一个硬盘到系统 那么根据命名规则知道这个新添加的硬盘应该是hdb。可用下面命令给硬盘分区 fdisk /dev/hdb 你也可以用cfdisk来分区,命令如下 cfdisk /dev/hdb 格式化硬盘 格式化成ext3格式 mkfs.ext3 /dev/hdb1 格式化成reiserfs的格式 mkfs.reiserfs /dev/hdb1 让硬盘启动自动挂载 例如挂载/dev/hdb1分区到/mnt/hd目录下 用vi编辑/etc/fstab文件,加入如下内容 /dev/dhb1 /mnt/hd reiserfs defaults 1 1
编辑本段硬盘格式化的杀毒作用
由于格式化将磁盘内的信息全部删除,所以病毒也会被一并删除掉,因此,格式化也经常被当作一个清除病毒的辅助手段。但是,如果病毒是潜伏在主板bios里,或者潜伏在被格式化分区以外的分区内,格式化当然起不到清除病毒的作用。不过,有的病毒存在文件中,格式化也是一个很好的选择! 格式化(Format)是在物理驱动器(硬盘)的所有数据区上写零的操作过程,格式化是一种纯物理操作,同时对硬盘介质做一致性检测,并且标记出不可读和坏的扇区。由于大部分硬盘在出厂时已经格式化过,所以只有在硬盘介质产生错误时才需要进行格式化。
一、DOS的启动
如果你安装了WIN98,在电脑启动时按住Ctrl不放,出现启动选择菜单,选择5"Command Prompt Only"即可进入DOS方式。 目前我们常用的操作系统有windows 9x/Me,NT,2000、windows Xp、windows 2003、Windows 7等,都是可视化的界面。在这些系统之前的人们使用的操作系统是DOS系统。DOS系统目前已经没有什么人使用了,但是dos命令却依然存在于我们使用的windows系统之中。大部分的DOS命令都已经在Windows里变成了可视化的界面,但是有一些高级的DOS命令还是要在DOS环境下来执行。所以学习命令行对于我们熟练操作Windows系统是很有必要的。 不同的操作系统要用不同的命令进入命令行界面。 在Win9x/Me的开始菜单中的运行程序中键入"command"命令,可进入命令行界面。 在Win2000/NT的开始菜单中的运行程序中键?quot;cmd"命令,可进入命令行界面。 下面我用讲到的DOS命令都可以在Windows Me操作系统中执行。 那么,我们如何进入命令行窗口? 开始——〉运行——〉键入command(也可以直接输入cmd)命令——〉回车 进入了命令行操作界面(DOS窗口),在DOS窗口中只能用键盘来操作。 在DOS中通过输入英文命令加回车键这种方式来执行程序。
二、退回到A:盘
如果我们需要格式化C:盘,那么不能在C:盘目录格式化C:盘,而是要退回到A:盘。反正C:盘以外的盘,如果是用启盘启动的,那一般启完成后就是A:盘,如果是用光盘启动的那般不在A:盘(具体在那个盘要看共有几个分区,它会自动向后推移)。 三、格式化命令及图解(请注意小心误格式化) FORMAT(Format.COM) --格式化命令 众所周知,新买的磁盘都必须经过格式化后方能使用,FORMAT命令可以完成对软盘和硬盘的格式化操作,格式为"FORMAT [盘符] [参数]",例如:"FORMAT C: /S"。它有两个常见的参数: /Q :进行快速格式化(请注意小心误格式化) ; /S :完成格式化,并将系统引导文件拷贝到该磁盘。 VB Format 函数 返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。
语法
Format(expression[, format[, firstdayofweek[, firstweekofyear]]]) Format 函数的语法具有下面几个部分: 部分 说明
expression 必要参数。任何有效的表达式。
format 可选参数。有效的命名表达式或用户自定义格式表达式。
firstdayofweek 可选参数。常数,表示一星期的第一天。
firstweekofyear 可选参数。常数,表示一年的第一周。

设置值
firstdayofweek 参数有下面设置: 常数 值 说明
vbUseSystem 0 使用 NLS API 设置。
VbSunday 1 星期日(缺省)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数有下面设置: 常数 值 说明
vbUseSystem 0 使用 NLS API 设置。
vbFirstJan1 1 从包含一月一日的那一周开始(缺省)。
vbFirstFourDays 2 从本年第一周开始,而此周至少有四天在本年中。
VbFirstFullWeek 3 从本年第一周开始,而此周完全在本年中。

说明
格式化 作法
数字 使用预先定义的命名数值格式或创建用户自定义数值格式。
日期和时间 使用预先定义的命名日期/时间格式或创建用户自定义日期/时间格式。
日期和时间序数 使用日期和时间格式或数值格式。
字符串 创建自定义的字符串格式。
如果在格式化数字时没有指定 format,Format 会提供与 Str 函数类似的功能,尽管它是国际化的。然而,以 Format 作用在正数上不会保留正负号空间,而以 Str 的话则会。
参考技术A 将下班的时间减去上班的时间,然后比较中间上班的时间!追问

在电脑上怎么操作啊?

追答

用一个execl的表格,把时间都放上去,然后做一个减法运算,然后就的出来一行的比较结果啦!

本回答被提问者采纳

JS 获取一段时间内的工作时长小时数

本来想是想找轮子的,但是并没有找到能用的,多数都是问题很大,所以就自己写了一个

需求说明

支持自选时间段,即开始时间与结束时间
根据用户的上班及下班时间判定
返回小时数

技术栈

moment.js

思考过程

怎么说呢,其实这个逻辑不是很复杂
主要是确定起始时间、结束时间与打卡上班时间、打卡下班时间的关系问题
起始时间<上班时间 ---> 将begindate设置成上班时间
起始时间>下班时间 ---> 将begindate设置成上班时间 并且日期+1
结束时间>下班时间 ---> 将enddate设置成下班时间
结束时间<上班时间 ---> 将begindate设置成上班时间 并且日期-1

然后就是判断是不是工作日了
起始是否同一天
大概思路就是这样 嗯

/**
   * 
   * @param {*} st start 2018-02-02 12:00
   * @param {*} et end  2018-02-02 12:00
   * @param {*} das 打卡上班  10:00:00  格式必须
   * @param {*} dax 打卡下班  10:00:00  格式必须
   */
    GetWorkHours( st, et, das, dax) {
        var  das = {h:das.substr(0,2),m:das.substr(3,2),s:das.substr(6,2)}
        var  dax = {h:dax.substr(0,2),m:dax.substr(3,2),s:dax.substr(6,2)}
        var _totalHour = 0;
        //获取开始时间和结束时间
        var _beginDate = moment(st);
        var _endDate = moment(et);
        var _begin = {y:_beginDate.year(),M:_beginDate.month(),d:_beginDate.date()}
        var _end = {y:_endDate.year(),M:_endDate.month(),d:_endDate.date()}
        //整理
        if (_beginDate.isBefore(moment(Object.assign({},_begin,das)))) {
            //开始时间小于st,设置为st
            _beginDate.hour(das.h).minute(das.m);
        } else if (_beginDate.isAfter(moment(Object.assign({},_begin,dax)))) {
            _beginDate.add(1, ‘d‘).hour(das.h).minute(das.m);
        }
        if (_endDate.isAfter(moment(Object.assign({},_end,dax)))) {
            //结束时间大于et,设置为et
            _endDate.hour(dax.h).minute(dax.m);
        } else if (_endDate.isBefore(moment(Object.assign({},_begin,das)))) {
            _beginDate.add(-1, ‘d‘).hour(das.h).minute(das.m);
        }
        var _DateTime = _beginDate;
        while (moment(_DateTime).isSameOrBefore(_endDate, "day")) {
            //判断是否周日,周六
            var _week = moment(_DateTime).weekday();
            if (_week == 0 || _week == 6) {
                _DateTime.add(1, ‘d‘);
                continue;
            }
            if (moment(_DateTime).isSame(_beginDate, "day")) {
                if (moment(_DateTime).isSame(_endDate, "day")) {
                    //开始时间和结束时间是同一天,结束时间-开始时间
                    _totalHour += _endDate.diff(_beginDate, "hours", true);
                    _DateTime.add(1, ‘d‘);
                    continue;
                } else {
                    //开始时间和结束时间不是同一天,et-st
                    _totalHour += moment(dax).diff(das, "hours", true);
                    _DateTime.add(1, ‘d‘);
                    continue;
                }
            } else if (moment(_DateTime).isSame(_endDate, "day")) {
                //是否和结束时间是同一天,结束时间-开始时间st,
                _totalHour += _endDate.diff(moment(_endDate).hour(das.h).minute(das.m), "hours", true);
                _DateTime.add(1, ‘d‘);
                continue;
            } else {
                //工时
                _totalHour += moment.duration(moment(dax)-moment(das)).as(‘hours‘);
                _DateTime.add(1, ‘d‘);
                continue;
            }
        }
        console.log("总计", _totalHour)
        return _totalHour 
    }

细节处可能还有瑕疵,欢迎讨论










以上是关于上班时间 下班时间 8:30AM 5:30PM 7:30AM 10:30PM 1:30AM 10:00PM 4:30AM 12:00PM 8:00AM 5:00PM 7:00AM 1的主要内容,如果未能解决你的问题,请参考以下文章

SimpleDateFormat 12小时制和24小时制的区别

如何快速计算工作时间&出勤时间

正则表达式匹配涉及上午/下午的时间范围,如上午 7 点至晚上 10 点

用Java将12小时制改为24小时制,Java新手

如何将日期/时间从 24 小时格式转换为 12 小时 AM/PM? [复制]

考勤表格中多个时间,如何分别提取上下班时间?如何计算上班时长?