GithubHelp home page GithubHelp logo

coerick / date-parser Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zetavg/date-parser

0.0 2.0 0.0 332 KB

將口語的日期時間解析成 Date 物件。

Home Page: https://www.npmjs.org/package/date-parser

CoffeeScript 100.00%

date-parser's Introduction

date-parser

Build Status npm version

Parses spoken datetime sentence into an Date object. Only Traditional Chinese is supported now.

Installation

Node.js

$ npm install --save date-parser
$ node
> dateParser = require('date-parser');

Browser

<script src="./script/date-parser.min.js"></script>

Usage

I18n

Select the default locale with:

dateParser.locale('zh-TW');
dateParser.timezone('Asia/Taipei');

Or just specify it on the go:

dateParser.parse('二零一四年五月五日', 'Asia/Taipei', 'zh-TW');

Datetime Parse

The date-parser can parse any kind of spoken datetime into an Data object:

dateParser.parse('2014年10月20日');  // -> Mon Oct 20 2014 00:00:00 GMT+0800 (CST)
dateParser.parse('二零一四年五月五日');  // -> Mon May 05 2014 00:00:00 GMT+0800 (CST)
dateParser.parse('2010/2/28 晚上八點');  // -> Sun Feb 28 2010 20:00:00 GMT+0800 (CST)
dateParser.parse('今天中午');  // -> (Today!) 12:00:00 GMT+0800 (CST)

You can just say an incomplete sentence, the parser will smartly guesses what you want:

dateParser.parse('中午');  // -> (Today!) 12:00:00 GMT+0800 (CST)
dateParser.parse('今晚');  // -> (Today!) 18:00:00 GMT+0800 (CST)
dateParser.parse('三點半');  // -> (Today!) 15:30:00 GMT+0800 (CST) (or 03:30:00, depends on current time)
dateParser.parse('五月五');  // -> ... May 05 ... 00:00:00 GMT+0800 (CST)
dateParser.parse('星期五晚上');  // -> Fri ... 18:00:00 GMT+0800 (CST)

Relative datetime is supported too.

dateParser.parse('下星期五晚上');  // -> Fri ... 18:00:00 GMT+0800 (CST)
dateParser.parse('兩小時後');  // -> ...
dateParser.parse('這週末');  // -> ...
dateParser.parse('明天凌晨三點');  // -> (Tomorrow!) 03:00:00 GMT+0800 (CST)
dateParser.parse('明年一月一號');  // -> ... Jan 01 ... 00:00:00 GMT+0800 (CST)

You can specify an ending datetime if needed:

meeting = dateParser.parse('早上八點到晚上十點');  // -> { (Today!) 08:00:00 GMT+0800 endTime: (Today!) 22:00:00 GMT+0800 }
meeting.endTime;  // -> (Today!) 22:00:00 GMT+0800
party = dateParser.parse('週五 6:00pm ~ 週六 10:00am');  // -> { Fri ... 18:00:00 GMT+0800 endTime: Sat ... 08:00:00 GMT+0800 }
party.endTime;  // -> Sat ... 08:00:00 GMT+0800

BTW, the event's name and location can also be parsed out.

play = dateParser.parse('星期五晚上到下禮拜六早上要一直玩一直玩一直玩');
//  -> { ... 18:00:00 GMT+0800
//       eventName: '一直玩一直玩一直玩',
//       endTime: ... 09:00:00 GMT+0800 }
play.eventName;  // -> '一直玩一直玩一直玩'
dateParser.parse('今天晚上在聽風家有披薩吃');
//  -> { ... 18:00:00 GMT+0800
//       location: '聽風家',
//       eventName: '披薩吃' }
dateParser.parse('明天中午到下午要開會');
//  -> { (Tomorrow!) 12:00:00 GMT+0800
//       eventName: '開會',
//       endTime: (Tomorrow!) 14:00:00 GMT+0800 }

date-parser's People

Contributors

zetavg avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.