JavaScript如何使用正規表示式顯示數值千分位

n = "1279834847944074100465236.33";
re = /(\d{1,3})(?=(\d{3})+(?:$|\D))/g ;
n1 = n.replace(re,"$1,");

console.log(n + "\r\n" + n1);

Comment

toISOString()轉換解决方式

台灣的所屬時區比協調世界時快8小時,UTC+8 或是 GMT+8 ,這裡的 +8 是指比 UTC 或是 GMT 快8小時的意思。 就如Sun Jun 30 2019 00:00:00 GMT+0800 (台北標準時間),使用toISOString().substr(0, 10)轉換擷取前面10個字串,會得到2019-06-29,相差了一天的日期。

GMT+0800 (台北標準時間),toISOString()轉換因為時區問題會相差8小時。

//解决方式
const date = new Date(+new Date() + 8 * 3600 * 1000); //加入相差的8小時
const currentMonth = date.toISOString().substr(0, 10);

Comment

var DateDiff = function (sDate1, sDate2) { // sDate1 和 sDate2 是 2016-06-18 格式
  var oDate1 = new Date(sDate1);
  var oDate2 = new Date(sDate2);
  var iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); // 把相差的毫秒數轉換為天數
  return iDays;
};

var GetDateDiff1 = DateDiff("2019/4/1","2019/4/2"); 
console.log(GetDateDiff1); //1

var GetDateDiff2 = DateDiff("2016/5/28","2016/6/2"); 
console.log(GetDateDiff2);//5

Comment

在JS中如果使用new Date函數,可以使用傳參數形式獲取某一月的最後一天,並且自動判斷潤平年和大小月,如下:

//使用new Date(year,month,0)的方式,可以獲取該月份最後一天日期
var lastDay = new Date('2019','05',0);

輸出結果

Comment

再過去版本中可使用IndexRoute作為設定首頁進入點,但在React Router 4設定上有所改變,全都使用Route,而需要設定為首頁加入exact屬性。在Layout方面本來使用Route帶入元件,在React Router 4直接使用react元件,如下在Layout元件中使用this.props.children顯示子路由。

import React, { Component } from "react";
import ReactDOM from "react-dom";
import { Router, Route, Switch } from "react-router";
import { BrowserRouter, HashRouter, Link } from "react-router-dom";
class Layout extends React.Component {
    constructor(props) {
        super(props);
    }
    render() {
        return (
            <div>
                <h1>App</h1>
                <ul>
                    <li>
                        <Link to="/">Home</Link>
                    </li>
                    <li>
                        <Link to="/about">About</Link>
                    </li>
                    <li>
                        <Link to="/about2">About2</Link>
                    </li>
                </ul>
                {this.props.children}
            </div>
        );
    }
}
class About extends Component {
    constructor(props) {
        super(props);
    }
    render() {
        return <div>about</div>;
    }
}class About2 extends Component {
    constructor(props) {
        super(props);
    }
    render() {
        return <div>about2</div>;
    }
}
class Home extends Component {
    constructor(props) {
        super(props);
    }
    render() {
        return (
            <div>home
                <div>
                    <Link to="/about"> 
                        Link About
                    </Link>
                </div>
            </div>
        );
    }
}
class App extends Component {
    constructor(props) {
        super(props);
    }
    render() {
        return (
            <HashRouter>
                <Switch>
                    <Route
                        exact
                        path="/"
                        component={Home}
                    />
                    <Layout>
                        <Route path="/about" component={About} />
                        <Route path="/about2" component={About2} />
                    </Layout>
                </Switch>
            </HashRouter>
        );
    }
}
ReactDOM.render(<App />, document.getElementById("root"));

Comment

Copyright © 2018 ucamc