将JavaScript日期格式化为yyyy mm dd
我有一个日期,格式是2014年5月11日太阳报。如何使用JavaScript将其转换为将JavaScript日期格式化为yyyy mm dd,javascript,date,formatting,date-format,Javascript,Date,Formatting,Date Format,我有一个日期,格式是2014年5月11日太阳报。如何使用JavaScript将其转换为2014-05-11 函数任务日期(dateMilli){ 变量d=(新日期(dateMilli)+''。拆分(''); d[2]=d[2]+','; 返回[d[0]、d[1]、d[2]、d[3]。加入(“”); } var datemilli=Date.parse('Sun May 112014'); console.log(taskDate(datemilli))您可以执行以下操作: 函数格式日期(日期
2014-05-11
函数任务日期(dateMilli){
变量d=(新日期(dateMilli)+''。拆分('');
d[2]=d[2]+',';
返回[d[0]、d[1]、d[2]、d[3]。加入(“”);
}
var datemilli=Date.parse('Sun May 112014');
console.log(taskDate(datemilli))代码>您可以执行以下操作:
函数格式日期(日期){
var d=新日期(日期),
月份=“”+(d.getMonth()+1),
日期=“”+d.getDate(),
year=d.getFullYear();
如果(月长<2)
月份='0'+月份;
如果(日长<2)
天='0'+天;
返回[年、月、日]。加入('-');
}
console.log(formattate('Sun-May 112014'))代码>您可以执行以下操作:
函数格式日期(日期){
var d=新日期(日期),
月份=“”+(d.getMonth()+1),
日期=“”+d.getDate(),
year=d.getFullYear();
如果(月长<2)
月份='0'+月份;
如果(日长<2)
天='0'+天;
返回[年、月、日]。加入('-');
}
console.log(formattate('Sun-May 112014'))代码>这里有一种方法:
var date = Date.parse('Sun May 11,2014');
function format(date) {
date = new Date(date);
var day = ('0' + date.getDate()).slice(-2);
var month = ('0' + (date.getMonth() + 1)).slice(-2);
var year = date.getFullYear();
return year + '-' + month + '-' + day;
}
console.log(format(date));
以下是一种方法:
var date = Date.parse('Sun May 11,2014');
function format(date) {
date = new Date(date);
var day = ('0' + date.getDate()).slice(-2);
var month = ('0' + (date.getMonth() + 1)).slice(-2);
var year = date.getFullYear();
return year + '-' + month + '-' + day;
}
console.log(format(date));
结果:
结果:
我建议使用类似的方法,而不是每次都尝试复制它。只需使用支持所有主要strftime操作的库
new Date().format("%Y-%m-%d")
我建议使用类似的方法,而不是每次都尝试复制它。只需使用支持所有主要strftime操作的库
new Date().format("%Y-%m-%d")
只需利用内置的toISOString
方法即可将日期转换为ISO 8601格式:
const yourDate = new Date()
yourDate.toISOString().split('T')[0]
其中yourDate是日期对象
编辑:编写此命令是为了在以下位置处理时区:
只需利用内置的toISOString
方法即可将日期转换为ISO 8601格式:
const yourDate = new Date()
yourDate.toISOString().split('T')[0]
其中yourDate是日期对象
编辑:编写此命令是为了在以下位置处理时区:
以下是一些答案的组合:
var d = new Date(date);
date = [
d.getFullYear(),
('0' + (d.getMonth() + 1)).slice(-2),
('0' + d.getDate()).slice(-2)
].join('-');
以下是一些答案的组合:
var d = new Date(date);
date = [
d.getFullYear(),
('0' + (d.getMonth() + 1)).slice(-2),
('0' + d.getDate()).slice(-2)
].join('-');
Date.js非常适合这样做
require("datejs")
(new Date()).toString("yyyy-MM-dd")
Date.js非常适合这样做
require("datejs")
(new Date()).toString("yyyy-MM-dd")
我使用这种方式获取格式为yyyy mm dd:)的日期
var todayDate=new Date().toISOString().slice(0,10);
console.log(今天)代码>我使用这种方式获取格式为yyyy mm dd:)的日期
var todayDate=new Date().toISOString().slice(0,10);
console.log(今天)代码>您可以尝试以下方法:
在代码中使用它:
const timeSolver = require('timeSolver');
const date = new Date();
const dateString = timeSolver.getString(date, "YYYY-MM-DD");
您可以使用以下方法获取日期字符串:
getString
您可以尝试以下方法:
在代码中使用它:
const timeSolver = require('timeSolver');
const date = new Date();
const dateString = timeSolver.getString(date, "YYYY-MM-DD");
您可以使用以下方法获取日期字符串:
getString
函数myYmd(D){
var pad=函数(num){
变量s='0'+num;
返回s.substr(s.length-2);
}
var Result=D.getFullYear()+'-'+pad((D.getMonth()+1))+'-'+pad(D.getDate());
返回结果;
}
var datemilli=新日期(“2014年5月11日太阳”);
文件写入(myYmd(datemilli))代码>
函数myYmd(D){
var pad=函数(num){
变量s='0'+num;
返回s.substr(s.length-2);
}
var Result=D.getFullYear()+'-'+pad((D.getMonth()+1))+'-'+pad(D.getDate());
返回结果;
}
var datemilli=新日期(“2014年5月11日太阳”);
文件写入(myYmd(datemilli))代码>只需使用以下内容:
var date = new Date('1970-01-01'); // Or your date here
console.log((date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear());
简单而甜美;) 只需使用以下命令:
var date = new Date('1970-01-01'); // Or your date here
console.log((date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear());
简单而甜美;) 重新格式化日期字符串相当简单,例如
var s='2014年5月11日太阳报';
函数重新格式化日期{
函数z(n){return('0'+n).slice(-2)}
变量月份=[,'一月','二月','三月','四月','五月','六月',
‘七月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’;
var b=s.split(/\W+/);
返回b[3]+'-'+
z(months.indexOf(b[1].substr(0,3).toLowerCase())+'-'+
z(b[2]);
}
控制台日志(重新格式化日期)代码>重新格式化日期字符串相当简单,例如
var s='2014年5月11日太阳报';
函数重新格式化日期{
函数z(n){return('0'+n).slice(-2)}
变量月份=[,'一月','二月','三月','四月','五月','六月',
‘七月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’;
var b=s.split(/\W+/);
返回b[3]+'-'+
z(months.indexOf(b[1].substr(0,3).toLowerCase())+'-'+
z(b[2]);
}
控制台日志(重新格式化日期)
toISOString()
假定您的日期是本地时间,并将其转换为UTC。您将获得不正确的日期字符串
下面的方法应该返回您需要的内容
Date.prototype.yyyymmdd = function() {
var yyyy = this.getFullYear().toString();
var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
var dd = this.getDate().toString();
return yyyy + '-' + (mm[1]?mm:"0"+mm[0]) + '-' + (dd[1]?dd:"0"+dd[0]);
};
来源:toISOString()
假定您的日期是本地时间,并将其转换为UTC。您将获得不正确的日期字符串
下面的方法应该返回您需要的内容
Date.prototype.yyyymmdd = function() {
var yyyy = this.getFullYear().toString();
var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
var dd = this.getDate().toString();
return yyyy + '-' + (mm[1]?mm:"0"+mm[0]) + '-' + (dd[1]?dd:"0"+dd[0]);
};
资料来源:这些答案我都不满意。我想要一个跨平台的解决方案,让我可以在本地时区工作,而不用使用任何外部库
这就是我想到的:
function localDay(time) {
var minutesOffset = time.getTimezoneOffset()
var millisecondsOffset = minutesOffset*60*1000
var local = new Date(time - millisecondsOffset)
return local.toISOString().substr(0, 10)
}
以YYYY-MM-DD格式返回日期所在时区的日期
因此,例如,localDay(新日期(“2017-08-24T03:29:22.099Z”)
将返回“2017-08-23”
,即使它已经是UTC的第24个
您需要Date.prototype.toISOString才能在InternetExplorer8中工作,但其他地方都应该支持它。这些答案都不能让我满意。我想要一个跨平台的解决方案,让我可以在本地时区工作,而不用使用任何外部库
这就是我想到的:
function localDay(time) {
var minutesOffset = time.getTimezoneOffset()
var millisecondsOffset = minutesOffset*60*1000
var local = new Date(time - millisecondsOffset)
return local.toISOString().substr(0, 10)
}
以YYYY-MM-DD格式返回日期所在时区的日期
因此,例如,localDay(新日期(“2017-08-24T03:29:22.099Z”)
将返回“2017-08-23”
,即使它已经是UTC的第24个
您需要Date.prototype.toISOString才能在InternetExplorer8中工作,但其他地方都应该支持它。,
new Date().toLocaleDateString('pt-br').split( '/' ).reverse( ).join( '-' );
new Date().toISOString().split('T')[0]
new Date('23/03/2020'.split('/').reverse().join('-')).toISOString()
new Date('23/03/2020'.split('/').reverse().join('-')).toISOString().split('T')[0]
date.format(moment.HTML5_FMT.DATE)
(new Date())
.toISOString()
.replace(
/^(?<year>\d+)-(?<month>\d+)-(?<day>\d+)T.*$/,
'$<year>-$<month>-$<day>'
)
(new Date())
.toISOString()
.match(
/^(?<yyyy>\d\d(?<yy>\d\d))-(?<mm>0?(?<m>\d+))-(?<dd>0?(?<d>\d+))T(?<HH>0?(?<H>\d+)):(?<MM>0?(?<M>\d+)):(?<SSS>(?<SS>0?(?<S>\d+))\.\d+)(?<timezone>[A-Z][\dA-Z.-:]*)$/
)
.groups
{
H: "8"
HH: "08"
M: "45"
MM: "45"
S: "42"
SS: "42"
SSS: "42.855"
d: "14"
dd: "14"
m: "7"
mm: "07"
timezone: "Z"
yy: "20"
yyyy: "2020"
}
14/7/'20 @ 8:45
new Date().toLocaleDateString() // 8/19/2020
new Date().toLocaleDateString('en-US', {year: 'numeric', month: '2-digit', day: '2-digit'}); // 08/19/2020 (month and day with two digits)
new Date().toLocaleDateString('en-ZA'); // 2020/08/19 (year/month/day) notice the different locale
new Date().toLocaleDateString('en-CA'); // 2020-08-19 (year-month-day) notice the different locale
new Date().toLocaleString("en-US", {timeZone: "America/New_York"}); // 8/19/2020, 9:29:51 AM. (date and time in a specific timezone)
new Date().toLocaleString("en-US", {hour: '2-digit', hour12: false, timeZone: "America/New_York"}); // 09 (just the hour)
.toJSON().slice(0,10);
const formatDate = d => [
d.getFullYear(),
(d.getMonth() + 1).toString().padStart(2, '0'),
d.getDate().toString().padStart(2, '0')
].join('-');
function vanillaToDateOnlyIso8601() {
// month May has zero-based index 4
const date = new Date(2014, 4, 11);
const yyyy = date.getFullYear();
const mm = String(date.getMonth() + 1).padStart(2, "0"); // month is zero-based
const dd = String(date.getDate()).padStart(2, "0");
if (yyyy < 1583) {
// TODO: decide how to support dates before 1583
throw new Error(`dates before year 1583 are not supported`);
}
const formatted = `${yyyy}-${mm}-${dd}`;
console.log("vanilla", formatted);
}
import { formatISO } from "date-fns";
function dateFnsToDateOnlyIso8601() {
// month May has zero-based index 4
const date = new Date(2014, 4, 11);
const formatted = formatISO(date, { representation: "date" });
console.log("date-fns", formatted);
}
import { LocalDate, Month } from "@js-joda/core";
function jodaDateOnlyIso8601() {
const someDay = LocalDate.of(2014, Month.MAY, 11);
const formatted = someDay.toString();
console.log("joda", formatted);
}
import { Temporal } from "proposal-temporal";
function temporalDateOnlyIso8601() {
// yep, month is one-based here (as of Feb 2021)
const plainDate = new Temporal.PlainDate(2014, 5, 11);
const formatted = plainDate.toString();
console.log("proposal-temporal", formatted);
}