# nv-facutil-clock

> clock,date,generator,stream,cron

Latest version **1.0.16** (published 2024-08-21) · ISC license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install nv-facutil-clock
pnpm add nv-facutil-clock
yarn add nv-facutil-clock
bun add nv-facutil-clock
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 1.0.16 |
| Published | 2024-08-21 |
| First published | 2021-03-05 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 90 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | ihgazni2 |
| Keywords | clock, date, generator, stream, cron |

## Links

- npm: https://www.npmjs.com/package/nv-facutil-clock
- npm.io page: https://npm.io/package/nv-facutil-clock

## Dependencies (1)

- [nv-facutil-promise](https://npm.io/package/nv-facutil-promise.md) ^1.0.34

## Alternatives

- [@js-joda/timezone](https://npm.io/package/@js-joda/timezone.md) — 383.4K weekly downloads
- [chartjs-adapter-moment](https://npm.io/package/chartjs-adapter-moment.md) — 210.8K weekly downloads
- [strftime](https://npm.io/package/strftime.md) — 171.2K weekly downloads
- [vue-flatpickr-component](https://npm.io/package/vue-flatpickr-component.md) — 115.8K weekly downloads
- [timepicker](https://npm.io/package/timepicker.md) — 51.0K weekly downloads

## Recent versions

- 1.0.16 (latest) — 2024-08-21
- 1.0.13 — 2023-10-05
- 1.0.11 — 2023-07-17
- 1.0.10 — 2023-07-17
- 1.0.9 — 2022-10-27
- 1.0.8 — 2022-03-08
- 1.0.7 — 2022-03-08
- 1.0.6 — 2022-03-08
- 1.0.5 — 2022-03-08
- 1.0.4 — 2021-12-14
- 1.0.3 — 2021-11-07
- 1.0.2 — 2021-07-30
- 1.0.1 — 2021-03-05
- 1.0.0 — 2021-03-05

## README

nv-facutil-clock
===============
- nv-facutil-clock  simple date util 
- simplified version of jsnoz
- Auto mode
- Manual mode:   stream/generator
- simple Cron
- without any dependancy
- without README, uncompressd 8K

install
=======
- npm install nv-facutil-clock 

usage
=====
    
example
-------

    const {Auto,Manual,Cron} = require("nv-facutil-clock");


### auto

    var auto = new Auto()

    > auto.zone
    '+0800'
    > auto.str()
    '2021-03-05 23:55:04.322 +0800'
    > auto.dict()
    {
      y: 2021,
      m: 3,
      d: 5,
      h: 23,
      min: 55,
      s: 10,
      ms: 853,
      ts: 1614959710.853,
      mts: 1614959710853,
      zone: '+0800',
      soffset: 28800,
      msoffset: 28800000
    }
    > auto.sdict()
    {
      y: '2021',
      m: '03',
      d: '05',
      h: '23',
      min: '55',
      s: '13',
      ms: '961',
      ts: 1614959713.961,
      mts: 1614959713961,
      zone: '+0800',
      soffset: 28800,
      msoffset: 28800000
    }
    >


### manual

    var manual = new Manual()
    
    > manual
    Manual [2021-03-05 23:57:06.937 +0800] {}
    > manual
    Manual [2021-03-05 23:57:06.937 +0800] {}
    >
    > manual.next_d()
    '2021-03-06 23:57:06.937 +0800'
    > manual
    Manual [2021-03-06 23:57:06.937 +0800] {}
    > manual.next_d()
    '2021-03-07 23:57:06.937 +0800'
    > manual
    Manual [2021-03-07 23:57:06.937 +0800] {}
    > manual.prev_d()
    '2021-03-06 23:57:06.937 +0800'
    > manual.prev_d()
    '2021-03-05 23:57:06.937 +0800'
    >
    
    > manual.next_s()
    '2021-03-05 23:57:07.937 +0800'
    > manual
    Manual [2021-03-05 23:57:07.937 +0800] {}
    > manual.prev_s()
    '2021-03-05 23:57:06.937 +0800'
    > manual
    Manual [2021-03-05 23:57:06.937 +0800] {}
    >
    > manual.prev_ms()
    '2021-03-05 23:57:06.936 +0800'
    >
    > manual.prev_m()
    '2021-02-05 23:57:06.936 +0800'
    >
    > manual.next_y()
    '2022-02-05 23:57:06.936 +0800'
    > manual.next_y()
    '2023-02-05 23:57:06.936 +0800'
    >
    
    > manual.next_h(3)
    '2023-02-06 02:57:06.936 +0800'
    >

### stream generator


    var g = manual.nd_gen$$()
    > g.next()
    { value: '2021-03-06 16:10:37.626 -0000', done: false }
    > g.next()
    { value: '2021-03-07 16:10:37.626 -0000', done: false }
    > g.next()
    { value: '2021-03-08 16:10:37.626 -0000', done: false }
    > g.next()
    { value: '2021-03-09 16:10:37.626 -0000', done: false }
    > g.next()
    { value: '2021-03-10 16:10:37.626 -0000', done: false }
    > g.next()
    { value: '2021-03-11 16:10:37.626 -0000', done: false }
    >

    var g = manual.nd_gen$$(5)
    > g.next()
    { value: '2021-03-16 16:10:37.626 -0000', done: false }
    > g.next()
    { value: '2021-03-21 16:10:37.626 -0000', done: false }
    > g.next()
    { value: '2021-03-26 16:10:37.626 -0000', done: false }
    >

    var g = manual.pd_gen$$(3)
    > g.next()
    { value: '2021-03-23 16:10:37.626 -0000', done: false }
    > g.next()
    { value: '2021-03-20 16:10:37.626 -0000', done: false }
    > g.next()
    { value: '2021-03-17 16:10:37.626 -0000', done: false }
    > g.next()
    { value: '2021-03-14 16:10:37.626 -0000', done: false }
    > g.next()
    { value: '2021-03-11 16:10:37.626 -0000', done: false }
    >

    var c =0;
    for(let each of manual) {
        if(c<10) {
            console.log(each)
        } else {

            break
        }
        c = c+1
    }
    /*
    2021-03-11 16:13:38.322 -0000
    2021-03-11 16:13:38.323 -0000
    2021-03-11 16:13:38.324 -0000
    2021-03-11 16:13:38.325 -0000
    2021-03-11 16:13:38.326 -0000
    2021-03-11 16:13:38.327 -0000
    2021-03-11 16:13:38.328 -0000
    2021-03-11 16:13:38.329 -0000
    2021-03-11 16:13:38.330 -0000
    2021-03-11 16:13:38.331 -0000

    */


### Cron

    const {Cron} = require("nv-facutil-clock")
    var frequency =1000
    function task_func(a,b,c) {
        console.log(a,b,c,(new Date()).getSeconds())
    }
    function cond_func(d) {
        /*
        d = {
          y: year,m: month,d: day,
          h: hour,min: minutes,s: seconds,ms: ms,
          ts: 1614959710.853,
          mts: 1614959710853,
        }
        */
        if(d.s % 7 === 0) {return(true)}
    }

    var cron = new Cron(frequency,cond_func,task_func,100,200,300)

    > cron.launch()
    undefined
    > 100 200 300 56
    100 200 300 0
    100 200 300 7
    100 200 300 14

    ()cron.clear100 200 300 21
    undefined
    > cron.clear()
    undefined
    >

stop watcher
-------------

        > var stop_watch = new StopWatch()
        undefined
        > stop_watch
        StopWatch [start_at:undefined  duration:undefined  end_at:undefined] {}
        >
        > var p = stop_watch.start()
        undefined
        > p
        Promise {
          <pending>,
          [Symbol(async_id_symbol)]: 68,
          [Symbol(trigger_async_id_symbol)]: 5,
          [Symbol(destroyed)]: { destroyed: false }
        }
        > stop_watch
        StopWatch [start_at:1639454327229  duration:7695  end_at:undefined] {}
        > stop_watch
        StopWatch [start_at:1639454327229  duration:9265  end_at:undefined] {}
        > stop_watch
        StopWatch [start_at:1639454327229  duration:10850  end_at:undefined] {}
        >
        > stop_watch
        StopWatch [start_at:1639454327229  duration:13856  end_at:undefined] {}
        > stop_watch.stop()
        { start_at: 1639454327229, end_at: 1639454350716, costed: 23487 }
        >
        > p
        Promise {
          { start_at: 1639454327229, end_at: 1639454350716, costed: 23487 },
          [Symbol(async_id_symbol)]: 68,
          [Symbol(trigger_async_id_symbol)]: 5,
          [Symbol(destroyed)]: { destroyed: false }
        }
        >  stop_watch
        StopWatch [start_at:1639454327229  duration:23487  end_at:1639454350716] {}
        >



METHODS
=======

Auto
----

    auto.dict                  auto.sdict
    auto.str                   auto.zone

Manual
------

    manual.dict                  manual.nd_gen$$              manual.next_d
    manual.next_h                manual.next_m                manual.next_min              manual.next_ms
    manual.next_s                manual.next_w                manual.next_y                manual.nh_gen$$
    manual.nm_gen$$              manual.nmin_gen$$            manual.nms_gen$$             manual.ns_gen$$
    manual.ny_gen$$              manual.pd_gen$$              manual.ph_gen$$              manual.pm_gen$$
    manual.pmin_gen$$            manual.pms_gen$$             manual.prev_d                manual.prev_h
    manual.prev_m                manual.prev_min              manual.prev_ms               manual.prev_s
    manual.prev_w                manual.prev_y                manual.ps_gen$$              manual.py_gen$$
    manual.sdict                 manual.str                   manual.zone

Cron
----

    cron.clear                 cron.cond_func             cron.frequency             cron.is_running
    cron.launch                cron.task_func             cron.zone


LICENSE
=======
- ISC

---
_Source: https://npm.io/package/nv-facutil-clock · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
