- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
是否有 javascript 库或其他机制允许我将 .NET 日期/时间格式字符串(即 yyyy-MM-dd HH:mm:ss
)传递给 javascript函数并让它相应地解析提供的日期时间值?我一直在寻找一段时间,但我似乎找不到我要找的东西。
我想象的用法将允许我提供来自 .NET 提供商的自定义格式字符串,并允许我现有的 javascript 库(如 Kendo)一致地呈现日期/时间。
由于我的要求似乎有些困惑,我会尽量详细一点:
tôi có một cái User Preferences
表,允许我的用户选择他们的日期、时间戳和时间等的格式,并且可以使用 .NET 字符串格式完全自定义。从我的 .NET 应用程序中渲染这些很容易。
但是,我也在使用 Kendo,它会从我的服务器收集原始日期/时间数据;我需要让它呈现的数据在 javascript 库和 .NET 呈现引擎之间保持一致的格式。
câu trả lời hay nhất
所以简短的回答似乎是,没有一种标准化日期格式的方法,所以......我写了一个。这个小图书馆有几个限制;例如,我完全忽略了时区(无论如何我的所有工作都是 UTC)并且我没有检查转义的特殊字符,但它应该为我的目的做:
/************************************************************
Feel free to use this as you like.
************************************************************/
var shortMonths = [
'Jan',
'Feb',
'Mar',
'Apr',
'Jun',
'Jul',
'Aug',
'Sep',
'Oct',
'Nov',
'Dec'
];
var fullMonths = [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
];
var shortDays = [
'Sun',
'Mon',
'Tue',
'Wed',
'Thu',
'Fri',
'Sat'
];
var fullDays = [
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
];
var shortAmPm = [
'A',
'P'
];
var fullAmPm = [
'AM',
'PM'
];
function dotNetDateTimeFormat(date, format) {
//we need a date
if (!(date instanceof Date && !isNaN(date.valueOf()))) return '';
//if no format is given, send back default yyyy-MM-dd
format = format || '';
if (format == '')
return d.getFullYear + '-' + padZeroes(d.getMonth(), 2) + '-' + padZeroes(d.getDate(), 2);
//check for standard formats
switch (format) {
case 'd': //short date pattern
return formatDateString(date, 'M/d/yyyy');
case 'D': //long date pattern
return formatDateString(date, 'dddd, MMMM d, yyyy');
case 'f': //Full date/time pattern (short time)
return formatDateString(date, 'dddd, MMMM d, yyyy h:mm tt');
case 'F': //Full date/time pattern (long time)
return formatDateString(date, 'dddd, MMMM d, yyyy h:mm:ss tt');
case 'g': //General date/time pattern (short time)
return formatDateString(date, 'M/d/yyyy h:mm tt');
case 'G': //General date/time pattern (long time)
return formatDateString(date, 'M/d/yyyy h:mm:ss tt');
case 'M': //Month/day pattern
case 'm': //Month/day pattern
return formatDateString(date, 'MMMM d');
case 'O': //Round-trip date/time pattern
case 'o': //Round-trip date/time pattern
return formatDateString(date, 'yyyy-MM-ddTHH:mm:ss.fff-00:00');
case 'R': //RFC1123 pattern
case 'r': //RFC1123 pattern
return formatDateString(date, 'ddd, d MMM yyyy HH:mm:ss GMT');
case 's': //Sortable date/time pattern
return formatDateString(date, 'yyyy-MM-ddTHH:mm:ss');
case 't': //Short time pattern
return formatDateString(date, 'h:mm tt');
case 'T': //Long time pattern
return formatDateString(date, 'h:mm:ss tt');
case 'u': //Universal sortable date/time pattern
return formatDateString(date, 'yyyy-MM-dd HH:mm:ssZ');
case 'U': //Universal full date/time pattern
return formatDateString(date, 'dddd, MMMM d, yyyy h:mm:ss tt');
case 'Y': //Year month pattern
case 'y': //Year month pattern
return formatDateString(date, 'MMMM, yyyy');
default: // custom string, no standard format.
return formatDateString(date, format);
}
}
function formatDateString(date, format) {
var yyyy = date.getFullYear();
var M = date.getMonth();
var d = date.getDate();
var day = date.getDay();
var H = date.getHours();
var h = H;
var pm = h > 12;
if (pm) h = H - 12;
var m = date.getMinutes();
var s = date.getSeconds();
var f = date.getMilliseconds();
format = format
.replace(/GMT/g, '*00*')
.replace(/yyyy/g, '*01*')
.replace(/yyy/g, '*02*')
.replace(/yy/g, '*03*')
.replace(/y/g, '*04*')
.replace(/MMMM/g, '*05*')
.replace(/MMM/g, '*06*')
.replace(/MM/g, '*07*')
.replace(/M/g, '*08*')
.replace(/dddd/g, '*09*')
.replace(/ddd/g, '*10*')
.replace(/dd/g, '*11*')
.replace(/d/g, '*12*')
.replace(/HH/g, '*13*')
.replace(/H/g, '*14*')
.replace(/hh/g, '*15*')
.replace(/h/g, '*16*')
.replace(/mm/g, '*17*')
.replace(/m/g, '*18*')
.replace(/ss/g, '*19*')
.replace(/s/g, '*20*')
.replace(/fff/g, '*21*')
.replace(/ff/g, '*22*')
.replace(/f/g, '*23*')
.replace(/FFF/g, '*24*')
.replace(/FF/g, '*25*')
.replace(/F/g, '*26*')
.replace(/tt/g, pm ? 'PM' : 'AM')
.replace(/t/g, pm ? 'P' : 'A')
.replace('*00*', 'GMT')
.replace('*01*', yyyy)
.replace('*02*', yyyy.toString().substr(-3, 3))
.replace('*03*', yyyy.toString().substr(-2, 2))
.replace('*04*', yyyy.toString().substr(-1, 1))
.replace('*05*', getFullMonth(M.toString()))
.replace('*06*', getShortMonth(M.toString()))
.replace('*07*', padZeroes(M.toString(), 2))
.replace('*08*', M.toString())
.replace('*09*', getFullDay(day.toString()))
.replace('*10*', getShortDay(day.toString()))
.replace('*11*', padZeroes(d.toString(), 2))
.replace('*12*', d.toString())
.replace('*13*', padZeroes(H.toString(), 2))
.replace('*14*', H.toString())
.replace('*15*', padZeroes(h.toString(), 2))
.replace('*16*', h.toString())
.replace('*17*', padZeroes(m.toString(), 2))
.replace('*18*', m.toString())
.replace('*19*', padZeroes(s.toString(), 2))
.replace('*20*', s)
.replace('*21*', padZeroes(f.toString(), 3))
.replace('*22*', padZeroes(Math.round(f / 10), 2).toString())
.replace('*23*', Math.round(f / 100).toString())
.replace('*24*', blankZero(padZeroes(f.toString(), 3)))
.replace('*25*', blankZero(padZeroes(Math.round(f / 10), 2).toString()))
.replace('*26*', blankZero(Math.round(f / 100).toString()))
;
return format;
}
function getShortMonth(month) {
return shortMonths[month];
}
function getFullMonth(month) {
return fullMonths[month];
}
function getShortDay(day) {
return shortDays[day];
}
function getFullDay(day) {
return fullDays[day];
}
function padZeroes(toPad, numDigits) {
toPad = toPad || '';
var zeroes = Array(numDigits).join('0');
return (zeroes + toPad).substr(-numDigits, numDigits);
}
function blankZero(number) {
var n = parseFloat(number);
if (isNaN(number)) return '';
if (n == 0.0) return '';
trả về n;
}
你可以这样使用它:
欢迎改进。
关于c# - 将 .NET 日期/时间格式字符串转换为 Javascript 日期/时间格式字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24309133/
Tôi có một biểu mẫu ở định dạng html: Tôi cần lấy JavaScript để thực thi trong trường nhập giá trị, nhưng chỉ thông qua việc gửi biểu mẫu. Lý do là trang này là mẫu nên tôi không thể kiểm soát nó (không thể có).
Diễn đàn tôi quản lý được lưu trữ bằng phần mềm nên tôi không có quyền truy cập vào mã nguồn, tôi chỉ có thể thêm JavaScript vào trang để thực hiện những gì tôi cần thực hiện. Tôi đang cố gắng thay thế phiên bản đầu tiên của một số từ khóa văn bản nhất định trên tất cả các trang bằng siêu liên kết. Tôi cũng đã ánh xạ những thứ này dựa trên mã quốc gia
Tôi đang sử dụng JS để mở một trang mới và viết mã HTML vào đó, nhưng khi tôi cố gắng sử dụng document.write() để viết JS trên trang mới thì chức năng không hoạt động. Rõ ràng, một khi đã nhìn thấy thì JS chính sẽ bị đóng lại. cho sự sắp tới
Câu hỏi không được đặt ra để giải quyết vấn đề, câu hỏi được đặt ra để hiểu rõ hơn về các chuyên gia hệ thống! Tôi biết rằng bất cứ khi nào bạn đưa mã javascript vào công cụ javascript, nó sẽ được công cụ javascript thực thi ngay lập tức. Vì tôi chưa thấy Engi
Tôi có hai tệp javascript trong một thư mục. Tôi muốn chuyển một biến từ tệp javascript sang tệp khác. Tôi nên sử dụng chương trình nào? Câu trả lời hay nhất window.postMessage được sử dụng cho các tin nhắn nhiều tài liệu. làm
Tôi có một bài tập trong đó tôi cần lấy hai đầu vào và kiểm tra xem cả hai có bằng một hay không. Nếu console.log thông thường console.log sai thì tôi đã thử một cái gì đó như thế này: function isPositive(linh sam
Tôi đang tạo một ứng dụng web và dự định cho phép các trang web (khách hàng) khác nhúng đoạn javascript sau vào trang của họ: Ứng dụng web của tôi được đặt tại http://example.org. Tôi không thể cho rằng các trang của trang khách có JQue
Hiện tại tôi đang sử dụng ba tệp JS bên ngoài. Tôi thích kết hợp cả ba tệp JS thành một. Làm bất cứ điều gì cần thiết. Tôi tạo aio.js và trong aio.js src="https://code.jquery.com/
Ví dụ: tôi có một mảng như thế này: var myArray = []; var item1 = { start: '08:00', end: '09:30' } var item2 = {
Vì vậy, tôi đang tạo một tiện ích mở rộng của Chrome sử dụng một số tập lệnh TamperMonkey mà tôi đã tạo. Tôi muốn có tệp javascript "chính" nơi bạn có thể bao gồm và thực thi các tập lệnh khác. Tôi khá giỏi trong việc chuyển đổi các jav khác bằng dòng sau
Tôi có các tệp javascript A,B html và A,B. Và, làm cách nào để di chuyển trực tiếp các biến toàn cục được sử dụng trong JavaScript A sang JavaScript B? Ví dụ về JavaScript) và
Tôi cần đặt toàn bộ mã bên dưới vào JavaScript có tên activate.js. bạn có thể cho tôi biết làm thế nào để làm điều đó? var int = int mới({ giây: 30, đánh dấu
Tôi đã tạo trang chính EXAMPLE1.Master cho ứng dụng web .net của mình. Tôi lưu trữ giá trị trong một biến JavaScript. Tôi muốn truy xuất biến này trong một tệp JS khác. Ví dụ 1.Master: -
Có thư viện nào tôi có thể sử dụng để chuyển đổi mã như thế này không: function () { var a = 1; } thành mã như thế này: function () { var a = 1; Vì tôi ở Gi
Tôi gặp lỗi cú pháp $(document).ready(function ChangeText() { var p = document.getElementById('bidp
Tôi đang tạo một thanh tiến trình. Nó có một nhãn hiệu. Tôi muốn điều chỉnh nhãn được hoàn thành bởi một tập lệnh nhất định. Sau khi tìm thấy một số câu trả lời về các giải pháp khả thi, tôi đã nghĩ ra đoạn script sau. Cái đầu tiên khởi động và hoạt động như mong đợi. Tuy nhiên, cái thứ hai thì không. Có chuyện gì vậy? Mã này như sau: HTML:
Đây là một câu hỏi rất đơn giản mà đầu óc đơn giản của tôi không thể trả lời: tại sao các hàm ẩn danh và hàm tải bên dưới không chạy khi tôi tải chúng vào thư viện bên ngoài? Tôi đang thiếu một cái gì đó rất, rất cơ bản. Library.js chỉ có một dòng: console.log(
Tôi biết javascript là ngôn ngữ phía máy khách, nhưng nếu mã javascript được nhúng trong mã thực tế khác với mã đang chạy trên bảng điều khiển, tôi sẽ thử tìm hiểu. Hãy để tôi giải thích nó bằng một ví dụ: Tôi muốn tạo một chiếc Mi
Làm cách nào để thay đổi javascript nội tuyến này thành JavaScript không phô trương? Cảm ơn! Cảm ơn câu trả lời, nhưng nó không hoạt động. Mã của tôi là: Tệp PHP js document.getElem
Tôi đang tìm cách thanh lịch nhất để "đổ" một đối tượng JavaScript đơn giản vào mã nguồn JavaScript được tạo động. Mục đích: Giả sử chúng ta có máy chủ node.js tạo HTML. Chúng tôi có một đối tượng x ở phía máy chủ.
Tôi là một lập trình viên xuất sắc, rất giỏi!