以下代码来自 moment.js 文档
moment().date(Number);
moment().date(); // Number
moment().dates(Number);
moment().dates(); // Number
Run Code Online (Sandbox Code Playgroud)
但输入parameter数据类型是数字而不是短月份名称和年份,这是我的要求输入。
下面是我的输入格式,如数组对象
`$scope.allMonths = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Act", "Nov", "Dec"];
$scope.Year=2017;// `
Run Code Online (Sandbox Code Playgroud)
所以我有月份和年份,现在我想通过使用 moment.js 获取所有日期和日期
我在下面的Answer中使用普通的 javascript 得到了确切的结果。但仍然无法使用 moment.js 找到解决方案
由于我们存储日期的方式,我需要将 moment 对象设置为时区 +0000。
我尝试过使用多种方法:
var d = moment().hour(0).minute(0).second(0).millisecond(0).zone('+0000');
var d = moment().hour(0).minute(0).second(0).millisecond(0).utc(0);
var d = moment().hour(0).minute(0).second(0).millisecond(0).utc();
Run Code Online (Sandbox Code Playgroud)
当我 console.log 这些日期时,它们会与时间一起出现00:00:00 GMT+0100 (BST)
查看文档似乎说 和.utc()仅.zone()用于打印格式,这是真的吗?(这与我在这里看到的其他问题相同,似乎没有地址将实际对象设置为时区)
设置并操作日期后,我将其转换为 JS Date 对象,以便与 angular-ui bootstrap datepicker 一起使用(注意:这是我使用 console.log 的 moment 对象)。
有没有办法使用 moment.js 或 moment-timezone 设置时区始终反映“美国/纽约”,无论用户从何处访问应用程序?
我已经尝试过这个,但对象的时区反映了浏览器的时区并返回 America/Los_Angeles。
moment.tz("8/26/2013 4:55 pm", "M/D/YYYY h:mm a", "America/New_York")
Run Code Online (Sandbox Code Playgroud) 我要求用户在我的应用程序中输入日期和时间。用户将根据他们所在的时区输入时间。当我将此日期和时间保存到数据库时,我想将时间转换为 UTC,这样当我按时间查询(以 UTC 完成)时,我可以找到条目。
这就是我目前所做的:
var date = new Date();
var dateString = "0" + (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear() + " " + time;
//format date
date = moment(dateString, "MM/DD/YYYY HH:mm a");
date = new Date(date).toISOString();
Run Code Online (Sandbox Code Playgroud)
其中 time 是用户输入的时间(例如,如果我想在上午 11:00 安排某项活动,则时间 = 11:00am)
当它保存到数据库时,它看起来像 :
ISODate("2016-05-09T11:00:00Z")这是不正确的,因为这是保存为祖鲁时间的 EST。
如何将时间(我正在使用时刻)转换为正确的祖鲁时间?
我正在尝试获取最近星期五的开始时间(上午 12:00 或上午 00:00)。这一直有效:
moment().isoWeekday(5).startOf('day').toDate()
但它只适用于周五->周日,周一早上它会引用即将到来的周五,在这种情况下这将起作用:
moment().add('-1', 'week').day(5).startOf('day').toDate()
但我需要它是动态的,并且如果可能的话,在一行中完成,这样我就不会在当天执行任何检查。
有没有办法始终获取最近的星期五?不管今天是什么日子。
编辑如果在星期五执行,我还试图让它返回当天(星期五)。
由于某种原因,我无法解析最简单的日期字符串。以下是给我“无效日期”。
moment.locale('en-gb');
var tempDate = moment("23/07/2018").format("DD/MM/YYYY");
Run Code Online (Sandbox Code Playgroud)
这也不起作用:
moment.locale('en-gb');
var tempDate = moment("23/07/2018");
Run Code Online (Sandbox Code Playgroud) 是否有任何现有的函数/库可以将日期和时间格式从 转换moment.js为C#?
我将从中接收日期和时间格式(只有格式,没有日期和时间值)moment.js并且需要在C#.
例如:
YYYY-MM-DD h:mm A
//this is the format received from moment.js
Run Code Online (Sandbox Code Playgroud)
然后,如果我有一个DateTimein C#,我需要将它显示为
2018-06-14 2:30 PM
//this is equivalent with YYYY-MM-dd h:mm tt
Run Code Online (Sandbox Code Playgroud)
我需要这样的东西:
string ConvertToCustomDateTimeFormat(string momentJsFormat){
// should convert all moment.js date and time format to https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
}
Run Code Online (Sandbox Code Playgroud)
然后我可以这样使用它:
string dateTimeFormat = ConvertToCustomDateTimeFormat("YYYY-MM-DD h:mm A");
//dateTimeFormat value should be YYYY-MM-dd h:mm tt
string formattedDateTime = myDateTime.ToString(dateTimeFormat);
Console.WriteLine(formattedDateTime);
// output will be 2018-06-14 2:30 PM
Run Code Online (Sandbox Code Playgroud) 我尝试添加culture='fr'的BigCalendar,但是,我得到一个错误。
我的代码是:
import moment from "moment";
BigCalendar.momentLocalizer(moment);
export default class Agenda extends Component {
constructor(props){
super(props);
this.state = {
events: [
{
title: 'Calendar 1',
start: new Date(2019, 2, 19, 15, 0, 0), //03:00 PM
end: new Date(2019, 2, 19, 16, 30, 0), //04:30 PM
},
{
title: 'Calendar 2 ',
start: new Date(2019, 2, 20, 12, 30, 0), //08:30 AM
end: new Date(2019, 2, 20, 18, 0, 0), //18:00 PM
},
{
title: 'Calendar 3 …Run Code Online (Sandbox Code Playgroud) 我正在尝试var bc使用 momentjs转换为日期。我的预期输出是 2019-08-08 07:44:15,但实际输出是 2609-10-28 03:17:54。
我从外部系统获取这个值,数据类型是 string
var bc = 20190808074415;
var now = moment(bc).format('YYYY-MM-DD HH:mm:ss');
alert(now);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>Run Code Online (Sandbox Code Playgroud)
当我检查以下日期时,它返回 true 结果,为什么?
const value = "3";
if (moment(new Date(value), "DD-MM-YYYY HH:mm", true).isValid()) // true
{ }
Run Code Online (Sandbox Code Playgroud)
或者
const value = "3";
if (moment(new Date(value)).isValid()) // true
{ }
Run Code Online (Sandbox Code Playgroud) momentjs ×10
javascript ×8
datetime ×2
angularjs ×1
c# ×1
culture ×1
date ×1
fullcalendar ×1
reactjs ×1
timezone ×1