et val;
const today=new Date();
let birthday=new Date('9-11-1988')
birthday=new Date('September 8 1988');
birthday=new Date('9/15/1989');
val=birthday;
val=today.getMonth()+1;//8
val=today.getDate(); //18
val=today.getDay(); //星期日 用0;
val=today.getFullYear();//2019
val=today.getHours(); //21
val=today.getMinutes();//10
val=today.getSeconds();//11
val=today.getMilliseconds();//192
val=today.getTime();//1566133929402
birthday.setMonth(2);
birthday.setDate(12);
birthday.setFullYear(1994);
birthday.setHours(18);
birthday.setMinutes(20);
birthday.setSeconds(25);
//console.log(val);
console.log(birthday); //Sat Mar 12 1994 18:20:25 GMT+0800 (中國標準時間)
datefns為瀏覽器中操作JavaScript日期提供了最全面、最簡單、最一致的工具集,并且可以在node.js中使用!常見的類似的庫還有moment.js和day.js!
https://github.com/date-fns/date-fns
只是用需要使用的功能,可以很好地與webpack, Browserify, 或者 Rollup集成
date-fns不會重新造輪子,而是使用現有的本機類型。此外,出于安全考慮,它不會擴展核心對象。date-fns中的函數可以正常工作,在某些情況下會遵循ECMAScript行為。
date-fns是使用純函數構建的,并且始終返回新的日期實例,而不是更改傳遞的實例。這有助于防止錯誤并避免長時間的調試會話。
date-fns支持Flow和TypeScript
支持幾十種語言,當然包括了簡體中文,只有當你需要使用的時候才會包括進來
它總是返回同一時區中的日期,不管傳遞的是時間戳、字符串還是日期對象。該API經過定制,具有可預測的名稱和參數順序。
datefns尊重時區和夏時制。它遵循語義版本控制,因此始終向后兼容。每個構建CI在大約400個時區檢查超過650000個示例
最好的API是不存在API。對于date fns,你總是有一個函數可以做一件事。并且總是有一個單一的方法來解決問題。
除了體積小之外,date-fns速度很快。
每個函數都有一個詳細的例子說明。由于JSDoc注釋,文檔可以在線(在網站上)和離線訪問。
import { format, formatDistance, formatRelative, subDays } from 'date-fns'
format(new Date(), "'Today is a' iiii")
//=> "Today is a Thursday"
formatDistance(subDays(new Date(), 3), new Date())
//=> "3 days ago"
formatRelative(subDays(new Date(), 3), new Date())
//=> "last Friday at 7:26 p.m."
import { formatRelative, subDays } from 'date-fns'
import { es, ru } from 'date-fns/locale'
formatRelative(subDays(new Date(), 3), new Date())
//=> "last Friday at 7:26 p.m."
formatRelative(subDays(new Date(), 3), new Date(), { locale: es })
//=> "el viernes pasado a las 19:26"
formatRelative(subDays(new Date(), 3), new Date(), { locale: ru })
//=> "в прошлую пятницу в 19:26"
import { addYears, formatWithOptions, toUpper } from 'date-fns/fp'
import { eo } from 'date-fns/locale'
const addFiveYears=addYears(5)
const dateToString=formatWithOptions({ locale: eo }, 'D MMMM YYYY')
const dates=[
new Date(2017, 0, 1),
new Date(2017, 1, 11),
new Date(2017, 6, 2)
]
const toUpper=arg=> String(arg).toUpperCase()
const formattedDates=dates.map(addFiveYears).map(dateToString).map(toUpper)
//=> ['1 JANUARO 2022', '11 FEBRUARO 2022', '2 JULIO 2022']
不論是moment.js或者day.js亦或是datefns都是JavaScript中處理日期非常好的庫,也避免了很多日期處理中的很多問題!
期獲取方法
獲取方法用于獲取日期的某個部分(來自日期對象的信息)。下面是最常用的方法(以字母順序排序):
getTime() 方法返回自 1970 年 1 月 1 日以來的毫秒數:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript getTime()</h2>
<p>JavaScript 中的內部時鐘從 1970 年 1 月 1 日午夜開始計算。</p>
<p>getTime() 函數返回從那時起的毫秒數:</p>
<p id="demo"></p>
<script>
var d=new Date();
document.getElementById("demo").innerHTML=d.getTime();
</script>
</body>
</html>
getFullYear() 方法以四位數字形式返回日期年份
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript getFullYear()</h2>
<p>getFullYear() 方法返回日期的完整年:</p>
<p id="demo"></p>
<script>
var d=new Date();
document.getElementById("demo").innerHTML=d.getFullYear();
</script>
</body>
</html>
getMonth() 以數字(0-11)返回日期的月份:
在 JavaScript 中,第一個月(1 月)是月號 0,因此 12 月返回月號 11。
您可以使用名稱數組,并使用 getMonth() 將月份作為名稱返回:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript getMonth()</h2>
<p>getMonth()方法以 0 到 11 之間的數字返回日期的月份。</p>
<p>要獲得正確的月份,您必須添加 1:</p>
<p id="demo"></p>
<script>
var d=new Date();
document.getElementById("demo").innerHTML=d.getMonth() + 1;
</script>
</body>
</html>
getDate() 方法以數字(1-31)返回日期的日:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript getDate()</h2>
<p>getDate() 方法以數字(1-31)返回日期的日:</p>
<p id="demo"></p>
<script>
var d=new Date();
document.getElementById("demo").innerHTML=d.getDate();
</script>
</body>
</html>
getHours() 方法以數字(0-23)返回日期的小時數:
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript getHours()</h2>
<p>getHours() 方法以數字(0-23)返回日期的小時:</p>
<p id="demo"></p>
<script>
var d=new Date();
document.getElementById("demo").innerHTML=d.getHours();
</script>
</body>
</html>
getDay() 方法以數字(0-6)返回日期的星期名(weekday):
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript getDay()</h2>
<p>getDay() 方法將周名作為數字返回:</p>
<p id="demo"></p>
<script>
var d=new Date();
document.getElementById("demo").innerHTML=d.getDay();
</script>
</body>
</html>
在 JavaScript 中,一周的第一天(0)表示“星期日”,即使世界上的一些國家認為周的第一天是“星期一”。
您可以使用名稱數組,并使用 getDay() 將星期名作為名稱返回:
*請認真填寫需求信息,我們會在24小時內與您取得聯系。